C ++函数返回&&操作者

时间:2015-12-31 18:42:41

标签: c++

我正在浏览一个库,我看到了这个功能:

bool CCAPI::IsConnected() const
{
    int state;
    int res = CCAPIGetConnectionStatus(&state);
    return (res == CCAPI_OK) && state;
}

具体来说,这最后一行是什么意思?在我看来,它正在使用&&运算符返回两个变量。那么这里发生了什么?

2 个答案:

答案 0 :(得分:5)

它会返回一个bool,就像函数说的那样。

运营商&&是合乎逻辑的AND,因此如果res == CCAPI_OKstate != 0则会返回true。在这种情况下,state操作将bool隐式转换为&&

答案 1 :(得分:0)

运营商&&Logical AND,也可以写为and

  

逻辑运算符应用逻辑函数(NOT,AND和包含它们)   或)到布尔参数(或上下文可转换为bool的类型),   用布尔结果。

因此,最后一个语句将返回类型为bool的操作结果。