如何在IF中处理多个OR条件

时间:2017-11-14 17:57:35

标签: c++ logic conditional-statements

bool A=false;
bool B=true;

if(!A || !B)
{
.....
}

A为真的情况下,它没有检查B,但我想检查B而不是A.

在这种情况下,如果任何一个为真(A或B),我想执行,但如果A为真,我也想检查B.除了使用不同的if条件之外,还有其他任何逻辑可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以在编译器中关闭短路评估。如果您使用自己的类型,则可能会超载||&&。重载的逻辑运算符不会短路。

两件事都非常糟糕。程序员期望逻辑运算符以某种方式运行,并且很可能与这种意外行为超级混淆。你应该坚持短路。