附加启动注意事项

在 C++ 中,对象构造和析构可能会执行用户代码。 因此,一定要了解哪些初始化在项之前发生在 ,哪些在析构函数调用后从 退出。 (有关对象的构造和析构的详细信息,请参见 构造函数析构函数。)

下面的代码示例中项之前发生了 :

  • 静态数据的默认值初始化为零。 没有显式初始值设定项的所有静态数据将执行其他代码之前为零,包括运行时初始化。 静态数据成员仍必须明确定义。

  • 全局静态对象的初始化在翻译单元的。 这可能发生,在对象的翻译单元之前的项。 或在对所有函数的第一次使用之前或对象。

Microsoft 专用

Microsoft C++,全局静态对象在项之前初始化为

特定于 Microsoft 的结尾

相互依赖关系的全局静态对象,但具有不同的翻译单元产生不正确的行为。

请参见

参考

启动和停止(C++)