可能重复:
What is the difference between these (bCondition == NULL) and (NULL==bCondition)?
从this question开始,它说“比较左侧的const对象”是一些“比其他方式更好”。这是为什么?
答案 0 :(得分:1)
任何体面的编译器都会警告你在条件表达式中的赋值,所以这些形式现在不是很相关。
另一点“对于> = 0 //好的技巧变量使用无符号”我听说使用无符号可能会令人困惑,除非有原因否则不应使用。有人同意或反驳这个吗?
当值应为unsigned
时使用unsigned
。
答案 1 :(得分:0)
这是为了避免“=”与“==”错误。如果你的意思是“==”但输入“=”并且LHS上的对象是常量,编译器会抱怨。例如,
if ( 3 == x )
优先于
if ( x == 3 )
因为如果你输入
if ( 3 = x )
然后你会收到一个错误,但如果你输入
if ( x = 3 )
然后你可能会得到一个错误!