если у меня есть что-то вроде a++ > 1;
или return a++;
, тогда a++ > 1
будет вычислено с использованием старого значения a, а в случае return a++;
программа вернется назад, возвращая старое значение a, но когда произойдет операторА ++ будет выполнен? Особенно в случае return a++
, после возврата обратно к вызывающей функции функция удаляется из стека, поэтому нет возможности для выполнения оператора a ++, тем более что переменная a больше не существует (при условии, что a был локальнымПеременная функции), и даже если бы был шанс, нам пришлось бы вернуться в функцию для выполнения оператора, но это также не имеет смысла, поэтому кто-то может объяснить, как это работает?