类初始化中的指针初始化

时间:2019-07-10 04:20:43

标签: c++ pointers initialization

给予

class Foo {
    public:
        bool *b;
        Foo();
};
Foo::Foo()
    :b()
{      
}

int main()
{
    Foo foo;
}

b()在类初始化器列表中做什么?似乎将指针的值初始化为0。

1 个答案:

答案 0 :(得分:2)

这是value initialization;实际上,内置类型将为zero-initialized。这意味着b将被初始化为0null pointer)。

  

4)否则,该对象将被初始化为零。

  

如果T是标量类型,则对象的初始值为明确转换为T的积分常数零。

还有

  

归零和值初始化还会将指针初始化为其空值。