C ++ - 如何||操作员工作?

时间:2012-03-03 18:51:39

标签: c++ boolean return

我在程序中看到过这种语法,但我不确定返回部分会发生什么。 ||(或)是什么意思?这是否意味着当truea中的至少一个btrue时,该方法会返回false,并且当false都为 bool A::truthValue() { bool a = true; bool b = true; if(........) a= false; if(........) b=false return (a || b); } 时返回{{1}} }?

{{1}}

4 个答案:

答案 0 :(得分:5)

如果b或a为真,它将返回true。这意味着结果是(见表):

a | b | result
t | t | t
f | t | t
t | f | t
f | f | f

实际上,在您的特定情况下,仅当两个if语句都成立时才会返回false。

编辑所以 - 您的建议是正确的。

答案 1 :(得分:1)

如果 b 为真,则表示返回true。

答案 2 :(得分:1)

  

这是否意味着当a和b中的一个为真时该方法返回true,并且当它们都为假时返回false?

这意味着。

答案 3 :(得分:0)

更确切地说:||运算符将首先评估左侧的表达式。如果是,则右侧的表达式将被忽略和整个||表达式评估为true。如果左表达式为false,则计算正确的表达式;如果它是真的整个||表达式评估为true,否则为false。

这种行为定义明确,并非易事。这种逻辑扩展适用于C ++中的所有逻辑运算符,它允许以下内容:

if (p && *p != '\0')

如果此规则不存在,则不允许这样做。