2

私は、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_;
}
4

1 に答える 1

11

はい:値の初期化data_()を示します。基本的な型の場合、値の初期化はゼロの初期化です。つまり、値で始まります。data_0

于 2012-08-10T14:18:05.440 に答える