С++ / Постфиксный префиксный инкремент, особенности

Здравствуйте многоуважаемые господа. Подскажите пожалуйста. Вот есть ПОСТФИКСНЫЙ ИНКРЕМЕНТ целочисленной переменной а.

int main(){
int a = 0;
++a;
}

Насколько мне известно компилятор воспринимает это как "возьми переменную а прибавь к ней 1 и присвой обратно в а". Однако постфиксный инкремент работает по схеме "возьми переменную а создай её копию в памяти и к копии прибавь 1" при этом старое значение всё так же остаётся в памяти (мб я ошибаюсь и это работает не так).

int main(){
int a = 0;
a++;
}

ВОПРОС. Можем ли мы обратиться к этой "копии" если да, как это сделать?

Я даже понятия не имею как это сделать


Ответы (1 шт):

Автор решения: Harry

Однако постфиксный инкремент работает по схеме "возьми переменную а создай её копию в памяти и к копии прибавь 1" при этом старое значение всё так же остаётся в памяти

Скорее так: возьми старое значение и сохрани; увеличь переменную и сохрани, а в качестве значения выражения с постфиксным инкрементом верни сохраненное значение.

Т.е. например,

int a = 5;
int b = 5 + a++;

После этого b равно 10 (значение a++ равно 5), но a равно 6.

→ Ссылка