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具有类类型,在这种情况下,它是重载运算符,可能返回任何内容)