C++ C++;-| |操作员是如何工作的?
我在程序中见过这种语法,但我不确定返回部分会发生什么。| | |(或)是什么意思?这是否意味着当C++ C++;-| |操作员是如何工作的?,c++,boolean,return,C++,Boolean,Return,我在程序中见过这种语法,但我不确定返回部分会发生什么。| | |(或)是什么意思?这是否意味着当a和b中至少有一个为true时,该方法返回true,当这两个false时,该方法返回false bool A::truthValue() { bool a = true; bool b = true; if(........) a= false; if(........) b=false return (a || b); }
a
和b
中至少有一个为true
时,该方法返回true
,当这两个false
时,该方法返回false
bool A::truthValue() {
bool a = true;
bool b = true;
if(........)
a= false;
if(........)
b=false
return (a || b);
}
如果b或a为true,则返回true。这意味着结果是(见表): 实际上,在您的特定情况下,只有当
if
语句都变为true时,才会返回false
编辑因此-您的建议是正确的。如果b或a为真,则返回真。这意味着结果是(见表): 实际上,在您的特定情况下,只有当
if
语句都变为true时,才会返回false
编辑因此-您的建议是正确的。如果a或b为真,则表示返回真。如果a或b为真,则表示返回真
这是否意味着,当a和b中至少有一个为真时,该方法返回true;当它们都为假时,该方法返回false
就是这个意思
这是否意味着,当a和b中至少有一个为真时,该方法返回true;当它们都为假时,该方法返回false
确切地说,更准确地说,| |运算符将首先计算左侧的表达式。如果为true,则忽略右侧的表达式,整个| |表达式计算为true。如果左表达式为false,则计算右表达式;如果为真,则整个| |表达式计算为真,否则为假 这种行为定义明确,并非微不足道。这种逻辑扩展适用于C++中的所有逻辑运算符,它允许:
if (p && *p != '\0')
如果这个规则不存在,这是不允许的。更准确地说,| |运算符将首先计算左侧的表达式。如果为true,则忽略右侧的表达式,整个| |表达式计算为true。如果左表达式为false,则计算右表达式;如果为真,则整个| |表达式计算为真,否则为假 这种行为定义明确,并非微不足道。这种逻辑扩展适用于C++中的所有逻辑运算符,它允许:
if (p && *p != '\0')
如果这个规则不存在,这是不允许的