私は何か面白いことをする小さなコードを持っていますが、それがどのように行われるのか理解できません。
int main(int argc, const char * argv[])
{
char text[] = "object";
for(char *ptr = &text[0]; *ptr != '\0'; ptr+=2)
{
cout << ptr << endl;
ptr--;
}
return 0;
}
何が起こっているのかというと、[1]、[2]、[3]などから、毎回文字列の最後までコンテンツが出力されます。ポインタが逆参照されることはないので、それがどのように行われるのか理解できませんが、正しい文字が印刷されるようです。文字列の文字の代わりに、ポインタ値が奇妙な文字として出力されると思いますが、それは実際には起こりません。