条款四:确定对象使用前已经优化 多个编译单元,non-local-static 对象产生时机不能确定的问题。 三点建议: - 为内置对象进行手工初始化,因为C++不保证初始化它们 - 构造函数最好使用初始化列表,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排序次序应该和他们在class中声明次序相同。 - 为避免“编译跨单元初始化次序”的问题,应该以local static 对象替换nonl-ocal对象。(实际上是Singleton模式最常见的手法)