atexit 的调用次序

void function() {}
A      a;
void main
{
    ::atexit(function);
    A    b;
};

次序如下:

1 实例 b 的析构函数          # main 里面的实例的析构函数
2 --- main 函数返回---
3 function()               # ::atexit 注册的函数
4 实例 a 的析构函数          # 全局/静态 实例的析构函数
原文地址:https://www.cnblogs.com/happylong/p/4320795.html