【发布时间】:2013-06-14 10:56:37
【问题描述】:
让我们来看看这段代码:
int a = 1;
int b = ++a + ++a;
在 C++ (VS 2010) 中,结果是:b = 6 但在 C# 中,结果是:b = 5
那里发生了什么?为什么结果不一样?
【问题讨论】:
-
是否有任何 C# 专家可以说出 b = 5 是否是标准的?你可以看到它是合理的:中心 + 是可交换的;一个 ++a 是 2,另一个是 3,而您正在对它们求和。
-
@Bathsheba 一些有趣的跨语言讨论:stackoverflow.com/questions/6457130/…
-
@Daniel Daranas;很好的链接;我认为这个问题现在已经解决了。
-
更详细的 C# 讨论,请参阅stackoverflow.com/q/8573190/96780。
标签: c# c++ pre-increment