#include "stdafx.h"; #include class Singleton { public: static Singleton* Instance() { if (NULL == singleton) singleton = new Singleton(); return singleton; }; private: Singleton() { }; private: static Singleton* singleton; }; Singleton* Singleton::singleton = NULL; int _tmain(int argc, _TCHAR* argv[]) { Singleton* sgt1 = Singleton::Instance(); Singleton* sgt2 = Singleton::Instance(); if(sgt1 == sgt2) cout<<"Instances are identical\n"; delete sgt1;//【译注:这个简单的例子里,是不存在内存泄漏或棘手的生命期管理问题的J】 return 0; } /*以下是程序输出结果: Instances are identical */ 】 |