!=和=之间的区别!举个例子(用C ++编写)

时间:2015-11-27 01:52:26

标签: c++

c ++中的!==!操作之间有什么区别?

我尝试谷歌搜索答案,但似乎搜索引擎不接受一些文本,如!==!

我也知道差异的逻辑是什么,但我想不出一个实际的例子。我的意思是让我说我​​有2个参数A和B在什么条件下A =!B将是真的但A!= B将是假的

if(A!=B) return true;
if(A=!B) return false;

我真的找不到任何搜索引擎的答案,而且似乎没有在任何文档中提及。

2 个答案:

答案 0 :(得分:5)

此操作:

A!=B

确定A是否不等于B。如果它们不相等,则评估为true。如果它们相等,则评估为false。它只是一个布尔比较操作。

此操作:

A=!B

不是布尔比较。 将<{1}}的值设置为A的否定值。 (在此上下文中使用时,它也评估B的新值,但在这方面并不是真正的“比较”。)所以如果A是{ {1}}然后,B 的值设置为true。可以更清楚地看到:

A

第一个操作只是比较,它不会修改任何内容。第二个操作修改 false

答案 1 :(得分:2)

  • A!=B表示“A不等于B”。
  • A=!B表示“将B的补码分配给A,并产生A的左值”。它可以(应该)重写为A = !BA = (!B)