У меня есть вопрос об увеличении указателей, который я не совсем понимаю.
Давайте посмотрим 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». Хотя я ожидал, что этот будет работать как первый, это не так.
Пожалуйста, помогите мне и скажите, почему второй фрагмент кода не работает так, как я ожидал, и как это обойти.
Спасибо