单利 Singleton 模板类的使用
2014-06-18 12:05
190 查看
1、Singleton.h文件和其使用方法
#ifndef _SINGLETON_H #define _SINGLETON_H template <class T> class Singleton { public: static inline T* instance(); void release(); protected: Singleton(void){} ~Singleton(void){} static T* _instance; }; template <class T> inline T* Singleton<T>::instance() { if(!_instance) _instance = new T; return _instance; } template <class T> void Singleton<T>::release() { if (!_instance) return; delete _instance; _instance = 0; } //在cpp文件中需要先声明静态变量 #define DECLARE_SINGLETON_MEMBER(_Ty) \ template <> _Ty* Singleton<_Ty>::_instance = NULL; #endif //Singleton模板类在Setting类中的具体使用步骤 //1、添加Singleton.h引用 //2、继承该类如:,public Singleton<Settings> //3、在cpp文件中需要先声明静态变量DECLARE_SINGLETON_MEMBER(Settings); //4、在Singleton.h定义一个在其它类中调用该单例的宏(也可以声明其它变量):#define Instance_Setting Settings::instance() //5、某个类中添加了Setting.h的引用,使用方法如下: //Instance_Setting->onDownLoadApp();直接调用即可
相关文章推荐
- symbian 下 APP 中使用 singleton
- 怎么使用EJB来达到singleton模式
- 在项目中使用设计模式思想——Abstract Factory、Factory Method、Singleton和Strategy模式的使用(上)
- 动态模板类使用 ITemplate 接口 GridView动态模板
- 使用模板类时的注意事项
- 模板类的导出使用问题!
- 在项目中使用设计模式思想——Abstract Factory、Factory Method、Singleton和Strategy模式的使用(上)
- 动态模板类使用 ITemplate 接口 GridView动态模板
- 模板类如何使用消息映射?
- 模板类的成员函数指针的使用
- 使用私有构造函数强化singleton属性
- patTemplate模板类的使用实例
- Item2:使用私有构造函数强化singleton属性
- 学习C++模板---模板类作为基类,使用参数类
- 使用Singleton改善ASP.NET性能备注
- 使用Singleton需要考虑内存释放
- 更新模板类,和一些使用经验
- 对Singleton使用方法的总结
- 使用ICollectionOnSTLImpl,CComEnumOnSTL模板类实现支持vb for each collection的COM
- 动态模板类使用 ITemplate 接口 GridView动态模板