Хорошо, я знаю, что стандарт диктует, что реализация С++ может выбирать, в каком порядке оцениваются аргументы функции, но есть ли какие-либо реализации, которые фактически "используют" это в сценарии, где это фактически повлияет программа?
Классический пример:
int i = 0;
foo(i++, i++);
Примечание. Я не ищу, чтобы кто-то сказал мне, что на заказ оценки нельзя полагаться, я хорошо знаю об этом. Меня интересует только то, действительно ли компиляторы действительно оценивают из ордера слева направо, потому что я предполагаю, что если бы они сделали много плохо написанного кода, он сломался (правильно, но они все равно, вероятно, будут жаловаться).