Como han notado otros, el comportamiento de este código es undefined en C/C++. Puedes obtener cualquier resultado.
El comportamiento de su código C# es estrictamente definido por el estándar C#.
Seguramente debe haber alguna razón para que ambos idiomas lo implementen de manera diferente?
Bueno, supongamos que está diseñando C#, y desea que el lenguaje sea fácil de aprender para los programadores de C++. ¿Elegirías copiar el enfoque de C++ a este problema, es decir, dejarlo indefinido? ¿Realmente desea facilitarles a los desarrolladores perfectamente inteligentes que escriban código accidentalmente para que el compilador pueda inventar cualquier significado que quiera?
Los diseñadores de C# no creen que el comportamiento indefinido de las expresiones simples sea algo bueno, y por lo tanto, hemos definido estrictamente lo que significan expresiones como esta. No podemos estar de acuerdo con lo que hace cada compilador de C++ porque diferentes compiladores de C++ le dan diferentes resultados para este tipo de código, por lo que no podemos estar de acuerdo con todos ellos.
En cuanto a por qué los diseñadores de C++ creen que es mejor dejar expresiones simples como esta para tener un comportamiento indefinido, bueno, tendrás que preguntarle a uno de ellos. Ciertamente podría hacer algunas conjeturas, pero esas solo serían conjeturas educadas.
He escrito una serie de artículos de blog sobre este tipo de problema; el más reciente fue casi exactamente el código que mencionas aquí.Algunos de los artículos es posible que desee leer:
Cómo el diseño de C# estimula la eliminación de errores sutiles:
http://blogs.msdn.com/ericlippert/archive/2007/08/14/c-and-the-pit-of-despair.aspx
exactamente cuál es la relación entre la precedencia, la asociatividad, y el orden de ejecución en C#?
http://blogs.msdn.com/ericlippert/archive/2008/05/23/precedence-vs-associativity-vs-order.aspx
¿En qué orden los efectos secundarios de la indexación, misiones y el incremento suceda?
http://blogs.msdn.com/ericlippert/archive/2009/08/10/precedence-vs-order-redux.aspx
Bueno, jynx, chicos. ;) – hobbs