atexit 的调用次序

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

次序如下:

1 实例 b 的析构函数          # main 里面的实例的析构函数
2 --- main 函数返回---
3 function()               # ::atexit 注册的函数
4 实例 a 的析构函数          # 全局/静态 实例的析构函数

 

posted @ 2015-03-07 19:08  嗨皮龙  阅读(142)  评论(0编辑  收藏  举报