单例模式

单例模式

保证一个类仅有一个实例,并提供一个该实例的全局访问点。

懒汉模式

class Singleton
{
public:
  static Singleton* getInstance();
  
private:
  static Singleton* instance_;
  
private:
  Singleton();
  Singleton(const Singleton& other);
}

Singleton* Singleton::instance_=nullptr;

Singleton* Singleton::getInstance()
{
  if(instance_=nullptr)
  {
    instance_=new Singleton();
  }
  return instance_;
}

饿汉模式

class Singleton
{
public:
  static Singleton* getInstance();
  
private:
  static Singleton* instance_;
  
private:
  Singleton();
  Singleton(const Singleton& other);
}

Singleton* Singleton::instance_=new Singleton();

Singleton* Singleton::getInstance()
{
  return instance_;
}

UML类图

posted @ 2022-10-02 17:33  暹罗吹雪  阅读(24)  评论(0编辑  收藏  举报