我正在查看一些代码,我看到一个bool函数,它定义了一个带有十六进制值的int并返回它。这是它的外观:
bool AttachProcess()
{
int a = 0x40;
...
return a;
}
bool只返回false为真吗?还是0或1?这个函数不会给出错误或警告,所以我必须遗漏一些东西。有人可以解释一下吗?谢谢!
答案 0 :(得分:1)
true
和false
非零且为零。所以: -
return a;
是
return a != 0;
答案 1 :(得分:1)
在C ++中,零被视为假,并且所有非零都为真。在您的情况下,存在从整数到布尔值的隐式转换。