Последовательность вычислений в C++ при вызове функций работает так: оценки, связанные с аргументами вызываемой функции, вычисляются перед вычислением самой функции. 3
При этом стандарт не регламентирует последовательность вычисления аргументов, и её выбор зависит от реализации компилятора. 1