T230621 Member Initialization
这次谈成员初始化。 C++存在 3 种方式初始化成员,分别为: ctor member initializer list ctor body default member initializer (in-class initializer) 关于 ctor member initializer list 和 ctor body 这2种方式,记得 Effective C++ 有条款单独讨论过,但那书太早了,只包含C++98/03,default member initializer 是C++11才有的方式。 在C++98,只有 static const int 才能够直接在类内直接初始化,它可以保证初始化是在编译期完成的。 // C++98 struct S { static const int x = 42; // OK const int… Continue Reading T230621 Member Initialization