C++ 函数返回 &&& 运算符
C++ Function Return with && Operator
我正在浏览一个库,我看到了这个函数:
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
。
运算符&&
是逻辑AND,也可以写成and
。
逻辑运算符应用逻辑函数(NOT、AND和inclusiveOR)转换为布尔参数(或在上下文中可转换为布尔的类型),具有布尔结果。
因此,最后一条语句将返回类型为bool
的运算结果。
相关文章:
- 重载更少,则运算符返回相反的布尔值
- 使用重载 [] 运算符返回 std::map() 的可赋值
- 为什么我的超载"+"运算符返回的总额错误?
- (C++)为什么"||"逻辑运算符返回 1?
- 为流运算符返回代理类时解压缩参数
- C++ 运算符返回差异
- 重载运算符返回什么类型的值(对于用户定义的类型):右值还是左值?
- 运算符返回的指针的有效性 >
- 字符串流运算符>>返回值
- 动态指针引用数组由三元运算符返回值,但有异常
- 重载运算符返回的对象正在丢失 C++ 中的数据
- 如何使用设置运算符返回非 const 对象>
- 重载常量和非常量转换运算符返回数组类型时出现 MSVC 错误 C2593
- 为什么比较运算符"=="返回"YES"即使两个向量不同?
- 如何从重载的下标 [] 运算符返回 std::unique_ptr&?
- 从重载运算符返回对象>>
- 获取对运算符 [] 返回值unordered_map引用
- 我无法让这个虚拟模板化函子运算符返回正确的类型
- 为什么迭代器运算符 + 返回副本
- 从运算符[]返回对映射的char*的引用