从this question它说“比较左侧的const对象”比其他方式“更好”。为什么是这样?
问问题
128 次
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 回答