为什么布尔值打印为数字?

时间:2018-02-28 12:32:46

标签: c++ c++11

我有点好奇为什么我的代码打印数字而不是bool值。

class fb
{
public:
    bool p;

    void
    func()
    {
        memset(&(p), 4, 1);
    }
};

int
main()
{
    fb f;

    f.func();

    std::cout << f.p << std::endl;

    return 0;
}

我的代码打印数字“4”,我不确定为什么会这样。你能解释一下我的代码有什么问题吗?我期待结果将是“真实的”。

谢谢

0 个答案:

没有答案