C++ 两者之间的区别!=和=!举个例子(用C+;+;)
C++ 两者之间的区别!=和=!举个例子(用C+;+;),c++,C++,之间的区别是什么=和= C++中的操作?< /P> 我试着用谷歌搜索答案,但搜索引擎似乎不接收一些文本,比如=或= 我也知道区别的逻辑,但我想不出一个实际的例子。我的意思是,假设我有两个参数A和B,条件是A=!B是真的,但是A=B是假的 if(A!=B) return true; if(A=!B) return false; 我真的无法从任何搜索引擎中找到答案,而且似乎在任何文档中都没有提及。 A=B表示“A不等于B” A=!B表示“将B的补码赋给A,并产生A的左值”。它可以(应该)重写成A=
之间的区别是什么=代码>和=代码> C++中的操作?< /P>
我试着用谷歌搜索答案,但搜索引擎似乎不接收一些文本,比如=代码>或=代码>
我也知道区别的逻辑,但我想不出一个实际的例子。我的意思是,假设我有两个参数A和B,条件是A=!B是真的,但是A=B是假的
if(A!=B) return true;
if(A=!B) return false;
我真的无法从任何搜索引擎中找到答案,而且似乎在任何文档中都没有提及。
A=B
表示“A
不等于B
”
A=!B
表示“将B
的补码赋给A
,并产生A
的左值”。它可以(应该)重写成A=!B
或A=(!B)
此操作:
A!=B
A=!B
确定A
是否不等于B
。如果它们不相等,则计算结果为true
。如果它们相等,则计算结果为false
。这只是一个布尔比较运算
此操作:
A!=B
A=!B
不是布尔比较。它将A
的值设置为B
的反数值。(在此上下文中使用时,它也会计算为A
的新值,但实际上并不是这方面的“比较”)。因此,如果B
为true
,则这将A
的值设置为false
。可以更清楚地看到:
A = !B
第一个操作只进行比较,不修改任何内容。第二个操作修改A
!=是比较运算符,=!是两个运算符,=和!=是助理接线员,!求反运算符A=!if语句中的B
可能是一个输入错误,不应该用在真正的代码中,因为它令人困惑。a=!B
求值为A
的新值(除非A具有类类型,在这种情况下,它是重载运算符,可能返回任何内容)