我正在浏览一个库,我看到了这个功能:
bool CCAPI::IsConnected() const
{
int state;
int res = CCAPIGetConnectionStatus(&state);
return (res == CCAPI_OK) && state;
}
具体来说,这最后一行是什么意思?在我看来,它正在使用&&
运算符返回两个变量。那么这里发生了什么?
答案 0 :(得分:5)
它会返回一个bool
,就像函数说的那样。
运营商&&
是合乎逻辑的AND
,因此如果res == CCAPI_OK
和state != 0
则会返回true
。在这种情况下,state
操作将bool
隐式转换为&&
。
答案 1 :(得分:0)
运营商&&
为Logical AND,也可以写为and
。
逻辑运算符应用逻辑函数(NOT,AND和包含它们) 或)到布尔参数(或上下文可转换为bool的类型), 用布尔结果。
因此,最后一个语句将返回类型为bool
的操作结果。