如何简化x&& (!y ||(y&& z))

时间:2016-01-20 17:37:31

标签: c++

有没有更好的方法来检查x && (!y || (y && z))是否属实? 我想我可以为此创建一个函数并执行x && not_or_and(y, z)之类的操作来减轻一些痛苦。但这真的是我能做的吗?

1 个答案:

答案 0 :(得分:11)

忽略表达式中的副作用,这在逻辑上是等效的

x && (!y || z)

您在y中为(y && z)进行的额外检查是多余的,因为如果您到达需要检查表达式的那一部分的位置,那么&# 39;已经确定!y是假的,这意味着y是真的。