C++ - || 如何运营商工作?

Posted

技术标签:

【中文标题】C++ - || 如何运营商工作?【英文标题】:C++ - how does the || operator work? 【发布时间】:2012-03-21 21:00:30 【问题描述】:

我在程序中看到过这种语法,但我不确定返回部分会发生什么。 ||(或)是什么意思?这是否意味着当ab 至少有一个是true 时该方法返回true,而当它们都是false 时返回false

    bool A::truthValue() 
    bool a = true;
    bool b = true;
    if(........)
       a= false;
    if(........)
       b=false

    return (a || b);

【问题讨论】:

【参考方案1】:

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

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

实际上,在您的具体情况下,只有当两个if 语句都为真时才会返回假。

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

【讨论】:

【参考方案2】:

如果a b为真则返回真。

【讨论】:

【参考方案3】:

这是否意味着该方法在 a 和 b 至少有一个为 true 时返回 true,而当它们都为 false 时返回 false?

就是这个意思。

【讨论】:

【参考方案4】:

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

这种行为是明确定义的,而不是微不足道的。这种逻辑排除适用于 C++ 中的所有逻辑运算符,它允许:

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

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

【讨论】:

以上是关于C++ - || 如何运营商工作?的主要内容,如果未能解决你的问题,请参考以下文章

从事运营工作,如何正确追热点?

用户运营中的积分系统如何设计?

如何调试webrtcdemo中的c++代码

如何利用软件定义简化网络运营维护工作

APP的系统运营之《搞懂产品生命周期便有了工作方向》

微信公众号如何运营?