Como dije en my comment, no tiene sentido secuencia ...
Según §6.2.2 de BS de El C++ Programming Language, Tercera Edición ...
El orden de evaluación de las subexpresiones dentro de una expresión no está definido. En particular, no puede suponer que la expresión se evalúa de izquierda a derecha.
§ 5,4 de los C++ 03 previsto por la norma:
Excepto donde se indique, el orden de evaluación de los operandos de los operadores y subexpresiones de expresiones individuales individuales, y el orden en que los efectos secundarios tener lugar, no se especifica. Entre el punto de secuencia anterior y siguiente, un objeto escalar tendrá su valor almacenado modificado como máximo una vez por la evaluación de una expresión.
Puede obtener más información acerca de los puntos de secuencia y el comportamiento indefinido here.
No hay punto de secuencia ... §6.2.2 __El orden de evaluación de las subexpresiones dentro de una expresión no está definido .__ – oldrinb
Gracias, esta parece ser la razón, confirmado en http://stackoverflow.com/questions/ 3463261/operator-precedence-for-and-in-vs2008-with-optimization? Rq = 1 Responde tu comentario, lo marcaré como final –
He publicado mi comentario como respuesta :-) – oldrinb