`
shaojiashuai123456
  • 浏览: 257101 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

单例模式模版类

 
阅读更多

 

 

#ifndef _COMMON_SINGLETON_H_

#define _COMMON_SINGLETON_H_

    

template<typename T>

class Singleton

{

public:

    template<typename... Args>

    static T* Instance(Args&& ...args)

    {

        if (m_pInstance == nullptr)

        {

            m_pInstance = new T(std::forward<Args>(args)...);

        }

        return m_pInstance;

    }

    

    static T* GetInstance()

    {

        return m_pInstance;

    }

 

    static void DestroyInstance()

    {

        if (m_pInstance != nullptr)

        {

            delete m_pInstance;

            m_pInstance = nullptr;

        }

    }

 

private:

    Singleton(void);

    virtual ~Singleton(void);

    Singleton(const Singleton&);

    Singleton& operator = (const Singleton &);

private:

    static T* m_pInstance;

};

 

template <typename T> T* Singleton<T>::m_pInstance = nullptr;

 

#endif

分享到:
评论

相关推荐

    Unity单例模式模板类

    Unity单例模式模板类,以供学习,有两个: 一个单纯的Singleton 一个MonoSingleton,继承于MonoBehaviour

    设计模式之单例模式.pptx

    单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 比如在某个服务器程序中,该服务器的配置信息存放...

    单例模式的两种常用模板

    确保每个类只有一个实例,而且自动实例化并且将这个实例自动提供给系统。

    qt5编写的单例模板模式

    使用qt5开发的单例模板,可存取正常的类以及指针,一般用于大型的软件架构。

    c++中的单例类模板的实现方法详解

    也就是说,显示器、扫描枪、收款箱这三部分都应该有各自的类,并且每个类只能唯一地实例化一个对象,基于这种模式的程序设计,称为单例模式。  !!!单例模式只能创建一个对象,且该对象的生命周期伴随系统的整个...

    如何在 C++ 中实现一个单例类模板

    在实际工程中,如果一个类的对象重复持有资源的成本很高,且对外接口是线程安全的,我们往往倾向于将其以单例模式管理。 此篇我们在 C++ 中实现正确的单例模式。 选型 在 C++ 中,单例模式有两种方案可选。 一是...

    C++中的单例模式及按需释放模型的例子

    本资源是《C++中的单例模式及按需释放模型》系列博文的例子,文章地址为http://blog.csdn.net/gogogo/article/details/7009862,其中提到了如何在C++正确使用单例模式,并讲解了使用辅助类实现可以按需释放的单例...

    详解C++实现线程安全的单例模式

    在某些应用环境下面,一个类只允许有一个实例,这就是著名的单例模式。单例模式分为懒汉模式,跟饿汉模式两种。 首先给出饿汉模式的实现 正解: template class singleton { protected: singleton(){}; private: ...

    设计模式自己总结一句话描述

    创建型模式,共五种: 工厂方法模式、抽象工厂模式、单例模式、构建者模式、原型模式。 结构型模式,共七种: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种...

    java 23种设计模式.zip

    1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、...

    java常用23中设计模式

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为模式) 解释器模式 模板方法模式 行为模式(对象行为模式) 策略模式 观察者模式 状态模式 导入模式 迭代器...

    Java面试 java设计模式整理 单例、工厂、策略等 面试使用,学习使用

    3. 单例模式(Singleton) 4 4.建造者模式(Builder) 4 5. 原型模式(Protype) 5 6.适配器模式(Adapter) 6 7.装饰模式(Decorator) 6 8.代理模式(Proxy) 7 9.外观模式(Facade) 7 10.桥接模式(Bridge) 7 ...

    23种JAVA设计模式和15种J2EE设计模式

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    Java23种设计模式可直接运行Demo

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    23种设计模式实例

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    unity-23种常见设计模式unity版

    创建型模式:共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式:共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式:共十一种:...

    23种设计模式java源码

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    23种设计模式demo

    创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略...

Global site tag (gtag.js) - Google Analytics