首页 > 代码库 > 单例模式(补充)
单例模式(补充)
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 如果有很多地方需要使用到单例模式,则可以改用宏来简化实现单例模式的编码工作。需要注意的是:该方案为非线程安全!
在使用单例的头文件中先声明:DECLARE_SINGLETON(classA)
然后在cpp文件中添加宏:IMPLEMENT_SINGLETON(classA)
外部调用方法:classA::Instance()
/* * singleton.h * * Created on: May 28, 2015 * Author: yanghui */#ifndef SINGLETON_H_#define SINGLETON_H_#define DECLARE_SINGLETON(ClassName) private: static ClassName *singleton_; public: static ClassName *GetInstance(); static void ReleaseInstance();#define IMPLEMENT_SINGLETON(ClassName) \ ClassName *ClassName::singleton_ = NULL; ClassName *ClassName::GetInstance() { if (singleton_ == NULL) { singleton_ = new ClassName(); } return singleton_; } void ClassName::ReleaseInstance() { if (singleton_ != NULL) { delete singleton_; singleton_ = NULL; } }#endif /* SINGLETON_H_ */
单例模式(补充)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。