С++ / Постфиксный префиксный инкремент, особенности
Здравствуйте многоуважаемые господа. Подскажите пожалуйста. Вот есть ПОСТФИКСНЫЙ ИНКРЕМЕНТ целочисленной переменной а.
int main(){
int a = 0;
++a;
}
Насколько мне известно компилятор воспринимает это как "возьми переменную а прибавь к ней 1 и присвой обратно в а". Однако постфиксный инкремент работает по схеме "возьми переменную а создай её копию в памяти и к копии прибавь 1" при этом старое значение всё так же остаётся в памяти (мб я ошибаюсь и это работает не так).
int main(){
int a = 0;
a++;
}
ВОПРОС. Можем ли мы обратиться к этой "копии" если да, как это сделать?
Я даже понятия не имею как это сделать
Ответы (1 шт):
Однако постфиксный инкремент работает по схеме "возьми переменную а создай её копию в памяти и к копии прибавь 1" при этом старое значение всё так же остаётся в памяти
Скорее так: возьми старое значение и сохрани; увеличь переменную и сохрани, а в качестве значения выражения с постфиксным инкрементом верни сохраненное значение.
Т.е. например,
int a = 5;
int b = 5 + a++;
После этого b
равно 10 (значение a++
равно 5), но a
равно 6.