C ++ Bool返回Hexadecimal Int?

时间:2015-11-21 19:54:04

标签: c++

我正在查看一些代码,我看到一个bool函数,它定义了一个带有十六进制值的int并返回它。这是它的外观:

bool AttachProcess()
{
    int a = 0x40;
    ...
    return a;
}

bool只返回false为真吗?还是0或1?这个函数不会给出错误或警告,所以我必须遗漏一些东西。有人可以解释一下吗?谢谢!

2 个答案:

答案 0 :(得分:1)

truefalse非零且为零。所以: -

return a;

return a != 0;

答案 1 :(得分:1)

在C ++中,零被视为假,并且所有非零都为真。在您的情况下,存在从整数到布尔值的隐式转换。