Как уже отмечалось другими, стандарт не дает никаких указаний относительно порядка оценки для этого конкретного сценария. Затем этот порядок оценки передается компилятору, и у компилятора может быть гарантия.
Важно помнить, что стандарт C ++ - это действительно язык, который должен дать указание компилятору о создании сборки / машинного кода. Стандарт - это только одна часть уравнения. Если стандарт неоднозначен или определен конкретно для реализации, вы должны обратиться к компилятору и понять, как он переводит инструкции C ++ в настоящий машинный язык.
Итак, если порядок оценки является требованием или, по крайней мере, и совместимость с кросс-компилятором не является обязательным требованием, расследуйте, как ваш компилятор в конечном итоге сочтет это вместе, ваш ответ может окончательно лежать там. Обратите внимание, что компилятор может изменить свою методологию в будущем