一、内置类型手工初始化

 

 

emm,,

 

 

二、区分赋值和初始化的区别

 

我们要尽量使用成员初值列,这样比赋值高效。

条款04:确定对象使用前已先被初始化

 

 

三、成员初始化顺序

 

条款04:确定对象使用前已先被初始化

 

 

四、“不同编译单元内定义non-local static对象”的初始化

 

C++对定义于不同编译单元内的non-local static对象的初始化次序无明确定义。

条款04:确定对象使用前已先被初始化

条款04:确定对象使用前已先被初始化

条款04:确定对象使用前已先被初始化

条款04:确定对象使用前已先被初始化

 

 

 

总结:

1、请记住为内置型对象进行手工初始化,因为C+不保证初始化它们

2、构造函数最好使用成员初值列( member initialization list),而不要在构造函数本体内使用赋值操作( assignment)。初值列列出的成员变量,其排列次序应该和它们在 class E中的声明次序相同。

3、为免除“跨编译单元之初始化次序”问题,请以 local static对象替换non- -local static对象。

相关文章: