标签:设计模式 读书笔记 singleton 单件模式 instance
意图:实现:
class Singleton { public: virtual ~Singleton() {} static Singleton *getInstance(void) { if (_instance == 0) _instance = new Singleton(); return _instance; } protected: Singleton() {} private: static Singleton *_instance; }; Singleton *Singleton::_instance = 0;
附加:
单件模式是我目前使用最多的设计模式,所以第一个读书笔记就整理它,以前我确实如上面实现那样使用单件模式,但是创建出来的唯一实例在程序正常结束时不会调用析构,万一我想在析构里面做点什么呢?自身创建的实例当然也得不到释放。
后来我就采用这种方法啦,当然你也可以展开宏,单独实现体会返回引用的优势
// 单例模式宏 #define SINGLETON(classname) static classname &ins(void) { static classname instance; return instance; }
标签:设计模式 读书笔记 singleton 单件模式 instance
原文地址:http://blog.csdn.net/panshiqu/article/details/46649789