La norma no especifica el orden de evaluación de los argumentos con esta línea:¿Por qué el orden de evaluación para los parámetros de función no se especifica en C++?
El orden de evaluación de argumentos no se especifica.
Lo que
mejor código puede ser generado en ausencia de restricciones a la orden de evaluación expresión
implica?
¿Cuál es el inconveniente de pedir a todos los compiladores que evalúen los argumentos de la función De izquierda a derecha, por ejemplo? ¿Qué tipo de optimizaciones realizan los compiladores debido a esta especificación no especificada?
Permitir que el compilador reordene la evaluación de los operandos agrega más espacio para la optimización. – Mysticial
@Mysticial: por absurda que parezca, debería ser una respuesta, ¡y en realidad la respuesta * aceptada *! –
¿Qué tipo de optimizaciones realizan los compiladores? – unj2