339 сообщений
#13 лет назад
Вот такая фича на Шарпе:int i = 1;
i=i++;
Console.WriteLine( i );
Как Вы думаете что получиться? - Конечно 1.
Тот же код в С++ даст 2.
Вот такая метаморфоза

403 сообщения
#13 лет назад
Цитата:I++ means 'tell me the value of i, then increment'
++i means 'increment i, then tell me the value'
153 сообщения
#13 лет назад
Компиляторы в C# и C++ по разному работают. там операции в стек по другому наверное складываются при разборе... ну это не точно...
702 сообщения
#13 лет назад
Для C++, выражение "i = i++" является unspecified behavior. То есть, поведение не определено.Потому что пост-инкремент и присваивание могут выполняться в произвольном порядке, а
следовательно, значение переменной i может оказаться равным как 1, так и 2.
Кому интересно, читать про "sequence points".