2015-12-31 37 views
0

我期待通过库,我看到这个函数:C++与&&运算符函数返回

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

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

+1

'&&'运算符如何让您认为它返回两个值? – Barmar

+1

我用黄色的方式看着'&&'意味着返回x和x而不是评估一个条件。 –

+0

如果答案已经回答了你的问题,请“接受”@CoryKramer回答(因为你对他的回答的评论似乎表明) – Scrubbie

回答

5

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

运营商&&是逻辑AND,所以如果res == CCAPI_OKstate != 0那么它将返回true。在这种情况下,对于&&操作,state正被隐式转换为bool

+0

哦,我明白了。谢谢。 –

0

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

逻辑运算符应用逻辑功能(NOT,AND,和包容 OR)到布尔参数(或类型的内容相关转换为bool) 用布尔结果。

所以最后一条语句将返回类型为bool的运算结果。