我在程序中看到过这种语法,但我不确定返回部分会发生什么。 ||(或)是什么意思?这是否意味着当true
和a
中的至少一个b
为true
时,该方法会返回false
,并且当false
都为 bool A::truthValue() {
bool a = true;
bool b = true;
if(........)
a= false;
if(........)
b=false
return (a || b);
}
时返回{{1}} }?
{{1}}
答案 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')
如果此规则不存在,则不允许这样做。