よくわからないポインターのインクリメントについて質問があります。
2 つの小さなプログラムを見てみましょう。
int iTuna=1;
int* pPointer= &iTuna;
*pPointer = *pPointer + 1 ; //Increment what pPointer is pointing to.
cout << iTuna << endl;
この最初のプログラムでは、「*pPointer = *pPointer +1」のように、pPointer が指しているものをインクリメントします。そして、私が予想したように、iTunaは「2」に変更され、プログラムは値「2」を出力しました
int iTuna=1;
int* pPointer= &iTuna;
*pPointer++; //Increment what pPointer is pointing to.
cout << iTuna << endl;
system("PAUSE");
return 0;
ここで、pPointerがこれを指しているのは「* pPointer ++」でした。しかし、ここでは iTuna は "1" のままで、プログラムは値 "1" を出力します。これが最初のように機能することを期待していましたが、機能しませんでした。
2 番目のコードが期待どおりに機能しない理由と、それを回避する方法を教えてください。
ありがとうございました