【发布时间】:2012-05-26 06:02:25
【问题描述】:
第一个代码:
if(i==0) {// do instructions here}
第二个代码:
if(0==i) { // do instructions here }
块之间有什么区别?
【问题讨论】:
-
不会让您花时间调试,因为您忘记了
=。 -
如果您使用 c#,至少可以避免
if (i=0) {}问题,因为该语法是非法的。 -
@KendallFrey 它是 C++ 中的有效表达式,因此编译器没有什么可以捕捉的。
-
然而,@Juan,一些 C++ 编译器还是抓住了它。这是一个实施质量问题。
-
如果您重载了 == 运算符(并非在所有列出的语言中都可行),您可以使 A == B 与 B == A 不同(不是您应该,而是你可以)。