给予
class Foo {
public:
bool *b;
Foo();
};
Foo::Foo()
:b()
{
}
int main()
{
Foo foo;
}
b()
在类初始化器列表中做什么?似乎将指针的值初始化为0。
答案 0 :(得分:2)
这是value initialization;实际上,内置类型将为zero-initialized。这意味着b
将被初始化为0
(null pointer)。
4)否则,该对象将被初始化为零。
和
如果T是标量类型,则对象的初始值为明确转换为T的积分常数零。
还有
归零和值初始化还会将指针初始化为其空值。