跳转到内容

更多 C++ 习语/运行时静态初始化顺序习语

来自 Wikibooks,开放世界中的开放书籍

运行时静态初始化顺序习语

[编辑 | 编辑源代码]

控制跨编译单元的非局部静态对象的初始化和销毁顺序,这些编译单元的顺序在实现上是不可确定的。

  • 分布在不同编译单元中的静态对象的初始化顺序没有明确定义。销毁顺序是初始化顺序的反向,但初始化顺序本身是实现定义的。为这种混乱带来秩序。
  • 静态对象的析构函数是非平凡的,并且具有必须发生的重要的副作用

解决方案和示例代码

[编辑 | 编辑源代码]

以下习语通常用于控制静态对象的初始化顺序。

华夏公益教科书