Приоритет оператора C ++ при использовании векторного итератора - PullRequest
0 голосов
/ 12 мая 2018

Почему следующая программа печатает 1 вместо 4?

std::vector<int> v;
v.push_back(1);
v.push_back(4);
std::vector<int>::iterator it = v.begin();
int n = *(it++);
std::cout << n;

1 Ответ

0 голосов
/ 12 мая 2018

Оператор приращения до / после является частью выражения , которое оценивается как значение (и имеет побочный эффект изменения приращения переменной.)

Оценка приращения префикса (++ i) составляет increment variable, return new value

Оценка приращения постфикса (i ++) составляет increment variable, return original value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...