嗯嗯,文章作者说也可以用!=模拟XOR,我就想是不是XOR有它特殊的符号
原文是这样说的you can easily mimic logical XOR using the inequality operator (!=)(我用翻译器翻译的可能和作者说的有偏差,我把原话复制粘贴你看看)
然后我又继续查找其他网页确实也有人提到了^这个符号,我就想这不是位运算符吗
以下是那个人的举例
2. C ++中没有逻辑XOR,主要是因为与AND和OR不同,不能对XOR进行“短时间”评估:使用AND和OR,一旦您评估了第一个操作数,一半的时间就会知道是否存在 需要评估第二个操作数。 使用XOR不能做到这一点。 必须始终评估两个操作数。
In other words:
if ( (a==b) & (c==d) )
generates different code from
if ( (a==b) && (c==d) )
while
if ( (a==b) ^ (c==d) )
would generate exact the same code as
if ( (a==b) ^^ (c==d) )
^^应该是您说的bitset
XOR