要点:
1. 采用函数内static变量作为唯一实例变量的存储器。由于没有用到New操作,不用关心内存的释放。
2. 将默认构造函数,默认拷贝构造函数,默认赋值操作符设为private,防止意外的操作。
class SingleInstanceClass { public: static SingleInstanceClass *GetInstance() { static SingleInstanceClass instance; return &instance; } private: SingleInstanceClass(){} SingleInstanceClass(const SingleInstanceClass&){} SingleInstanceClass& operator=(const SingleInstanceClass&){} }; |