美文网首页
设计模式-创建模式-单例模式

设计模式-创建模式-单例模式

作者: 阿棍儿_Leon | 来源:发表于2020-04-28 14:13 被阅读0次

顾名思义,一个进程只允许有一个实例,禁止类外创建实例,只能通过静态的GetInstance方法获取实例。
比较简单,不多说了。

#include <iostream>

using namespace std;

// 懒汉式单例模式
class Singleton
{
private:
    Singleton() { }
    static Singleton* pInstance;
public:
    static Singleton* GetInstance()
    {
        if (pInstance == nullptr)
            pInstance = new Singleton();
        return pInstance;
    }
    void Display()
    {
        cout<<__PRETTY_FUNCTION__<<endl;
    }
};

// 线程安全的单例模式
class SingletonThreadSafe
{
private:
    SingletonThreadSafe() { }
    ~SingletonThreadSafe() { }
    SingletonThreadSafe(const SingletonThreadSafe &){};
    SingletonThreadSafe & operator = (const SingletonThreadSafe &Other){return *this;};
public:
    static SingletonThreadSafe & GetInstance()
    {
        static SingletonThreadSafe instance;
        return instance;
    }
    void Display()
    {
        cout<<__PRETTY_FUNCTION__<<endl;
    }
};

Singleton* Singleton::pInstance = nullptr;

int main(void){
    Singleton::GetInstance()->Display();
    SingletonThreadSafe::GetInstance().Display();
    return 0;
}

运行结果:

void Singleton::Display()
void SingletonThreadSafe::Display()

相关文章

  • 设计模式 - 单例模式

    设计模式 - 单例模式 什么是单例模式 单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类...

  • 单例模式

    单例 单例模式,是一种设计模式,属于创建型设计模式,还有一种创建型设计模式,工厂模式。设计模式总共有23种,三大类...

  • Python 之单例模式

    简介:单例模式(Singleton Pattern) 是最简单的设计模式之一,属于创建型的设计模式。单例模式涉及到...

  • 单例模式

    1. 单例模式 在面向对象的程序设计中, 单例模式是最简单的设计模式,这种类型的设计模式属于创建型模型,所谓单例....

  • “Python的单例模式有四种写法,你知道么?”——孔乙己

    什么是单例模式 单例模式(Singleton Pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型...

  • 设计模式分类

    经典23种设计模式: 创建型设计模式: Singleton Pattern(单例模式) PrototypePatt...

  • 设计模式与架构02 -- 单例模式,工厂模式

    单例模式 单例模式是最简单的设计模式之一,属于创建型模式,它提供了一种创建对象的最佳方式; 单例模式只涉及到一个单...

  • 设计模式——单例模式

    单例模式属于创建模型。 单例模式,是设计模式中比较简单而又最常用的模式之一。通过单例模式可以保证系统中,应用该模式...

  • Android 设计模式之单例设计模式

    简介 单例设计模式(Singleton Pattern),属于创建型模式,它提供了一种创建对象的方式.单例模式确保...

  • S4. 单例模式

    单例模式(Singleton) 介绍 单例模式是创建型设计模式,即用于创建对象的设计。其能够保证当前系统仅存在一个...

网友评论

      本文标题:设计模式-创建模式-单例模式

      本文链接:https://www.haomeiwen.com/subject/czpvwhtx.html