这是零初始化数据项吗?

jco*_*der 2 c++ initialization

我发现自己对c ++中零初始化的规则感到困惑.使用此代码将data_初始化为零?我相信它应该是,并且用我的编译器查看生成的汇编代码,但我知道这不是必需的.

#include <iostream>

class test
{
public:
    test(); 
    int data_;
};


// Does this zero initialize data_ ?
test::test() : data_()
{
}

int main()
{
    test t;
    std:: cout << t.data_;
}
Run Code Online (Sandbox Code Playgroud)

Ker*_* SB 11

是:data_()表示值初始化,对于基本类型,值初始化为零初始化,data_即将以值开始0.