0

可能重复:
这些(bCondition == NULL)和(NULL==bCondition)有什么区别?

this question它说“比较左侧的const对象”比其他方式“更好”。为什么是这样?

4

2 回答 2

1

任何体面的编译器都会警告您有关条件表达式中的赋值,因此如今这种形式并不是很相关。

在另一点上“对> = 0的变量使用无符号//好技巧”我听说使用无符号可能会令人困惑,除非有原因,否则不应使用。有人同意或反驳这一点吗?

unsigned值应为 时使用unsigned

于 2012-08-30T20:37:06.163 回答
0

这是为了避免“=”与“==”的错误。如果你的意思是“==”但输入“=”并且 LHS 上的对象是常量,编译器会抱怨。例如,

if ( 3 == x )

优先于

if ( x == 3 )

因为如果你输入

if ( 3 = x )

那么你会得到一个错误,但如果你输入

if ( x = 3 )

那么你可能会得到一个错误!

于 2012-08-30T20:36:51.527 回答