对于 C + + 中的“ bool”值,有什么理由不使用位运算符 & 、 | 和 ^ 吗?
有时我会遇到这样的情况,即我希望两个条件中的一个为真(XOR) ,所以我只需要将 ^ 运算符放入一个条件表达式中。有时我也希望对条件的所有部分进行评估,以判断结果是否为真(而不是短路) ,所以我使用 & 和 | 。我有时还需要累积布尔值,& = 和 | = 可能非常有用。
当我这样做的时候,我得到了一些眉毛,但是代码仍然是有意义的和干净的比否则。有什么理由不把它们用在布尔上呢?有没有现代的编译器会给出糟糕的结果?