C++ 程序启动和终止
C++ 程序执行的操作与 C 程序在程序启动及终止时所执行的操作相同,另外还执行此处所述的一些其他操作。
在目标环境调用函数 main
之前,以及将任何指定的常量初始值存储在具有静态持续时间的所有对象中后,程序将为这些静态对象执行任何剩余的构造函数。 执行顺序并未在转换单元之间指定,但你可以假设这些静态构造函数对某些 iostreams 对象执行了正确初始化。 这些控制文本流为:
此外,还可以在程序终止期间,在为静态对象调用的析构函数中使用这些对象。
与 C 程序一样,从 main
返回或调用 exit
时,它会按相反顺序的注册表调用在 atexit
注册的所有函数。 从已注册函数引发的异常会调用 terminate
。