Приколы С#
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".