关于多个 Singleton 对象析构顺序的问题
在Effictve C++ 中第4条:确定在对象使用前已被先初始化。
在最后介绍怎样使用 local static 对象保证对象初始化时说到Singleton模式,
FileMgr* FileMgrPtr()
{
static FileMgr mgr;
return &mgr;
}
它里面仅仅讲到对象初始化问题,就是在程序开始时手工调用所有的reference-returning 函数.
但是没有讲到程序退出时这些singleton对象析构顺序问题,比如我做了个测试,其中有NetworkMgr and FileMgr, 都是Singleton对象,NetworkMgr在程序退出时需要通过FileMgr保存一些状态信息到磁盘上,我怎么保证FileMgr对象比NetworkMgr晚
析构呢?