Как это должно корректно обрабатываться? P.S. знаю, что так писать некомильфо (разные компиляторы могут дать разный конечный ответ), просто на первый вариант наткнулся в одном из исходников.
http://en.cppreference.com/w/cpp/language/eval_order i =++i + i++;// undefined behavior n =++i + i; // undefined behavior
Даже один и тот же компилятор может по разному вычислять эти выражения, например, в зависимости от контекста, или параметров оптимизации. Неопределенное поведение, оно всегда неопределенное...