我正在使用 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();
}