当前位置: 代码迷 >> 综合 >> 设计模式 单例模式(Singleton Pattern)
  详细解决方案

设计模式 单例模式(Singleton Pattern)

热度:16   发布时间:2023-12-09 02:51:02.0

单例模式(Singleton Pattern)



目的

确保一个类只有一个实例,提供一个全局访问接口。

结构

  • 单例: 定义一个使用户只能操作一个实例的类。

源码

    template <class T>class singleton //: private T{protected:singleton();~singleton();protected:static T* p_ins;public:static T& instance();static T* ptr();static void destroy();};template <class T>inline singleton<T>::singleton(){p_ins = NULL;}template <class T>inline singleton<T>::~singleton(){}template <class T>T &singleton<T>::instance(){if ( NULL == p_ins ){p_ins = new T;}return *(p_ins);}template <class T>T* singleton<T>::ptr(){if ( NULL == p_ins ){p_ins = new T;}return (p_ins);}template <class T>void singleton<T>::destroy(){if (p_ins != null) {delete p_ins;p_ins = null;}}


  相关解决方案