小编Sel*_*mAI的帖子

C++ 14非聚合上的统一初始化

我正在使用Visual C++ 2013.当类是聚合时,它是零初始化的.当它是非聚合时,它似乎是默认初始化并且不确定.这是为什么?

#include <iostream>

using namespace std;

class Test_1
{
public:
    int i;
    void f(){};
};

class Test_2
{
public:
    int i;
    virtual void f(){};
};

int main()
{
    Test_1 t1{};
    Test_2 t2{};

    cout<<t1.i<<endl; //0
    cout<<t2.i<<endl; //-858993460

    getchar();
}
Run Code Online (Sandbox Code Playgroud)

c++ uniform-initialization c++14

5
推荐指数
1
解决办法
199
查看次数

标签 统计

c++ ×1

c++14 ×1

uniform-initialization ×1