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