21xrx.com
2025-02-16 22:15:01 Sunday
登录
文章检索 我的文章 写文章
C++单例模式的实现代码
2023-06-30 03:32:42 深夜i     --     --
C++ 单例模式 实现 代码

在C++编程中,单例模式是一种很重要的设计模式,它可以让一个类只被实例化一次,并且提供一个全局的访问点,使得其他类可以获取到该唯一的实例。

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


class Singleton {

  private:

    static Singleton* instance; // 唯一实例的指针

    Singleton() { } // 私有构造函数

  public:

    static Singleton* getInstance() { // 获取唯一实例的静态方法

      if (!instance) { // 如果唯一实例为空,就创建一个唯一实例

        instance = new Singleton();

      }

      return instance; // 返回唯一实例的指针

    }

};

// 初始化唯一实例的指针为空

Singleton* Singleton::instance = nullptr;

在上面的代码中,我们通过一个静态指针变量来保存唯一的实例,同时将构造函数设为私有的,防止其他类直接实例化该类。

在`getInstance()`获取唯一实例的方法中,我们首先检查唯一实例是否为空,如果是就通过`new`创建一个唯一实例,并返回该唯一实例的指针。

最后,我们需要在类外初始化唯一实例的指针为空。

通过这种方式,我们可以保证一个类只会被实例化一次,并且可以通过全局的访问点获取到唯一实例的指针。这对于需要共享数据或资源的场景非常有用。

  
  

评论区

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