我期待通过库,我看到这个函数:C++与&&运算符函数返回
bool CCAPI::IsConnected() const
{
int state;
int res = CCAPIGetConnectionStatus(&state);
return (res == CCAPI_OK) && state;
}
具体来说,这是什么最后一行是什么意思?它看起来像是在返回两个变量,因为它使用了&&
运算符。那么这里发生了什么?
我期待通过库,我看到这个函数:C++与&&运算符函数返回
bool CCAPI::IsConnected() const
{
int state;
int res = CCAPIGetConnectionStatus(&state);
return (res == CCAPI_OK) && state;
}
具体来说,这是什么最后一行是什么意思?它看起来像是在返回两个变量,因为它使用了&&
运算符。那么这里发生了什么?
它将返回一个单一的bool
,就像函数说的那样。
运营商&&
是逻辑AND
,所以如果res == CCAPI_OK
和state != 0
那么它将返回true
。在这种情况下,对于&&
操作,state
正被隐式转换为bool
。
哦,我明白了。谢谢。 –
运营商&&
是Logical AND,也可以写成and
。
逻辑运算符应用逻辑功能(NOT,AND,和包容 OR)到布尔参数(或类型的内容相关转换为bool) 用布尔结果。
所以最后一条语句将返回类型为bool
的运算结果。
'&&'运算符如何让您认为它返回两个值? – Barmar
我用黄色的方式看着'&&'意味着返回x和x而不是评估一个条件。 –
如果答案已经回答了你的问题,请“接受”@CoryKramer回答(因为你对他的回答的评论似乎表明) – Scrubbie