我对以下表达式有一个快速的问题:

int a_variable = 0;
if(0!=a_variable)
   a_variable=1;


(0 != a_variable)”和“ (a_variable != 0)”有什么区别?
我现在没有任何错误,但这是使用它的错误方法吗?

最佳答案

如果您忘记了!,则第一个将给出错误(0 = a_variable),第二个将造成严重破坏(a_variable = 0)

同样,使用用户定义的运算符,第二种形式可以用成员函数实现,而第一种形式只能是非成员(可能是朋友)函数。尽管这是一个非常糟糕的主意,但有可能以不同的方式定义这两种形式。当然,由于a_variableint,因此在此示例中没有有效的用户定义运算符。

关于c++ - C++中不等式!=的算子可交换性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3347086/

10-11 00:41