21xrx.com
2024-09-20 05:18:44 Friday
登录
文章检索 我的文章 写文章
C++单例模式实现代码
2023-07-07 04:47:40 深夜i     --     --
C++ 单例模式 实现 代码

C++是一种高效的面向对象编程语言,单例模式是C++中常用的一种设计模式。单例模式可以保证一个类只有一个实例,并提供了一个全局访问的接口,以便于其他对象可以使用这个实例。

下面是C++单例模式的实现代码:


class Singleton {

private:

 Singleton() {}

 static Singleton* instance_;

public:

 static Singleton* GetInstance() {

  if (instance_ == nullptr) {

   instance_ = new Singleton();

  }

  return instance_;

 }

 // 禁止拷贝构造函数和赋值操作符

 Singleton(const Singleton&) = delete;

 Singleton& operator=(const Singleton&) = delete;

};

Singleton* Singleton::instance_ = nullptr;

在这个代码中,我们定义一个Singleton类,它有一个私有构造函数,保证了外部无法直接创建这个类的实例。同时,我们使用静态成员变量和静态成员函数来实现单例模式,并在GetInstance函数中判断实例是否已经存在,如果不存在就创建一个新的实例并返回。

最后,我们使用“=delete”来禁止掉拷贝构造函数和赋值操作符,以确保单例不能被复制。

如果我们要使用这个单例类,只需要调用GetInstance函数即可:


Singleton* instance = Singleton::GetInstance();

以上就是C++单例模式的实现代码及其使用方法。通过使用单例模式,我们可以保证一个类只有一个实例,从而避免了重复创建对象、浪费资源等问题,并且还可以提供一个全局访问的接口,方便其他对象访问和使用该实例。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复