C++11 中 类实例的初始化问题比较复杂。 这里涉及到实例的类型, (static vs non-static), 有没有自定义构造函数等等。
对于static类型(全局变量,namespace变量,类static数据成员,函数static局部成员),class内部的成员变量都会使用默认值初始化.
//Struct S1 w/o constructor
struct S1 {
string a;
int b;
};
//global S1 object
S1 s1;
//S1 object in anonymous namespace
namespace{ S1 s2; }
//static member of a class
struct S{
static S1 mS;
};
S1 S::mS;
//static local variable of a function
void</