我对以下表达式有一个快速的问题:
int a_variable = 0;
if(0!=a_variable)
a_variable=1;
“
(0 != a_variable)
”和“ (a_variable != 0)
”有什么区别?我现在没有任何错误,但这是使用它的错误方法吗?
最佳答案
如果您忘记了!
,则第一个将给出错误(0 = a_variable)
,第二个将造成严重破坏(a_variable = 0)
。
同样,使用用户定义的运算符,第二种形式可以用成员函数实现,而第一种形式只能是非成员(可能是朋友)函数。尽管这是一个非常糟糕的主意,但有可能以不同的方式定义这两种形式。当然,由于a_variable
是int
,因此在此示例中没有有效的用户定义运算符。
关于c++ - C++中不等式!=的算子可交换性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3347086/