保存个单例类~

来源:互联网 发布:淘宝情趣用品店铺排名 编辑:程序博客网 时间:2024/05/25 19:56

 

#pragma once#define DECLARE_SINGLETON(className) \     private: \     className(){ Init();} \     friend Singleton<className>;   template<class T> class Singleton { public:     Singleton(void){ }     static T* GetInstance()     {         if(!m_Instance)             m_Instance = new T;         return m_Instance;     }     friend T; public: virtual void Init(){} private:     static T* m_Instance; };  template<class T> T* Singleton<T>::m_Instance = 0;


使用方法:   :public Singleton<XX>

        DECLARE_SINGLETON(XX)

        覆盖Init()实现初始化~

        在多核情况下是非安全的。。等待看书中~~

原创粉丝点击