У меня есть это утверждение:
return *local_stack_var2++ + 42;
Были бы правильные шаги при его разборе:
1. Разыменование local_stack_var2
2. Добавьте 42 к разыменованному local_stack_var2 (функция на самом деле вернет это значение)
3. Перед завершением функции она активирует постинкремент, увеличивая значение объекта, на которое указывает local_stack_var2
Так что в формате кода это будет выглядеть примерно так?
int temp = *local_stack_var2 //step 1;
int returnValue = temp + 42; //step 2, compiler will return THIS value
*local_stack_var2 = *local_stack_var2 + 1; //step 3
return returnValue;
Спасибо!