代码思想就是程序结束时会自动释放静态/全局资源时删除单例资源。
//.h class CSingleton { public: static CSingleton* Singleton() { return ms_oSingleton; }; private: CSingleton(); ~CSingleton(); static CSingleton* ms_oSingleton; struct GC { ~GC() { if (ms_oSingleton != NULL) delete ms_oSingleton; ms_oSingleton = NULL; } }; static GC ms_oGC; }; //.cpp CSingleton* CSingleton::ms_oSingleton = new CSingleton(); CSingleton::GC CSingleton::ms_oGC; CSingleton::CSingleton() { } CSingleton::~CSingleton() { //delete rc }