Большинство языков программирования, таких как C ++, рекурсивны в том порядке, в котором выполняются операции (здесь я не делаю никаких выводов о том, как код фактически реализуется компилятором). Сложные операции, которые состоят из любых четко определенных операций, сами по себе хорошо определены, поскольку каждая операция выполняется по принципу «последний пришел - первый вышел».
Постинкремент возвращает значение переменной, которая увеличивается до , увеличивая его, поэтому операция return
получает это значение. Специального определения этого поведения не требуется.