Увеличение указателей

У меня есть вопрос об увеличении указателей, который я не совсем понимаю.

Давайте посмотрим 2 небольшие программы:

int iTuna=1;
int* pPointer= &iTuna;
*pPointer = *pPointer + 1 ; //Increment what pPointer is pointing to.
cout << iTuna << endl;

В этой первой программе я увеличиваю то, на что указывает pPointer, например: «*pPointer = *pPointer +1». И как я и ожидал 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». Хотя я ожидал, что этот будет работать как первый, это не так.

Пожалуйста, помогите мне и скажите, почему второй фрагмент кода не работает так, как я ожидал, и как это обойти.

Спасибо

6
задан Filburt 1 August 2012 в 07:26
поделиться