Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
在MSVC 2010 C ++中,我将x和y都显示为true,然后执行x&= y;。导致x为假
我无法在调试器中重复。当我更改为x = x && y;那么结果就是预期的真实。
我应该更改代码还是进行更深入的研究-我正在维护一个针对多个编译器和多个处理器的大型旧系统?
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
在MSVC 2010 C ++中,我将x和y都显示为true,然后执行x&= y;。导致x为假
我无法在调试器中重复。当我更改为x = x && y;那么结果就是预期的真实。
我应该更改代码还是进行更深入的研究-我正在维护一个针对多个编译器和多个处理器的大型旧系统?
最佳答案
&=是二进制AND。 &&是逻辑AND。
如果两个值都确实是bool
,则它们应该工作相同。但是我怀疑他们不是。
关于c++ - 如果x&= y都是c++ bool,则x&= y等于x = x && y ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21941496/
10-10 04:23