我想检查一个值是否等于1。以下代码行有什么不同吗
x == 1
1 == x
...就编译器执行而言?
在大多数语言中都是一样的。
人们经常做 1 == 评估值,因为 1 不是左值。这意味着您不会意外地完成任务。
Example:
if(x = 6)//bug, but no compiling error
{
}
相反,您可以强制编译错误而不是错误:
if(6 = x)//compiling error
{
}
现在,如果 x 不是 int 类型,并且您使用的是 C++ 之类的东西,那么用户可能创建了一个运算符 ==(int) 覆盖,这使这个问题有了新的含义。在这种情况下 6 == x 不会编译,但 x == 6 可以。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)