2012-05-04 22 views

回答

1

不,根本没有区别。

用来写这个表达式5==a,而不是a==5人们因此可以在ç赶上a=5错误/ C++其中表达是完全有效的,并始终计算为true。这样,如果程序员写(错误地)表达式5=a那么它会得到一个编译器错误。

1

这两者通常是相同的。

有人建议把恒定的第一(if (5==a)),因为这样一来,如果你错型和离开了=之一获得:if (5=a),编译器会给出错误信息,而if (a=5)将编译和执行,但可能不会做你想做的。

一些编译器会给后者发出警告(例如最近的gnu做的迭代),但其他编译器却不会(后者是Visual C++)。

1

如果'a'指向覆盖==的对象,那么理论上可能会得到不同的结果。