21xrx.com
2024-11-22 07:28:42 Friday
登录
文章检索 我的文章 写文章
C++单例类代码
2023-07-12 19:44:08 深夜i     --     --
C++ 单例类 代码

在C++中,单例模式被广泛应用于各种场合。它的基本思想是保证一个类只有一个实例,并提供一个全局访问点。下面我们给出一个简单的C++单例类代码:


class Singleton {

public:

  static Singleton* getInstance()

    static Singleton instance;

    return &instance;

  

  void showMessage() Singleton!" << std::endl;

  

private:

  Singleton() {}

  Singleton(const Singleton&);

  Singleton& operator=(const Singleton&);

};

在这个代码中,我们定义了一个名为Singleton的类,它包含了一个静态函数getInstance(),用来获取该类的唯一实例。

getInstance()函数中,我们定义了一个静态的Singleton类型的实例instance,并通过返回它的指针来获得该类的唯一实例。由于该实例是静态的,所以只会在第一次调用getInstance()函数时被初始化,而且永远只会被初始化一次。这就保证了该类只有一个实例。

为了避免该类被复制或赋值,我们在类定义中还定义了一个私有的构造函数、拷贝构造函数和赋值运算符。这样做可以保证该类不会被复制,也就不会有多个实例。

最后,我们定义了一个简单的showMessage()函数,用来输出一条消息,以供测试使用。

使用这个单例类也非常简单。我们只需要通过Singleton::getInstance()函数获得唯一实例,然后就可以通过该实例来调用showMessage()函数了。下面是一个使用示例:


Singleton* s = Singleton::getInstance();

s->showMessage();

以上就是一个简单的C++单例类代码。它提供了一个优雅的方式来确保一个类只有一个实例,并且该实例可以全局访问。在实际应用中,我们可以将该类用于实现日志记录器、配置管理器、线程池等常见的单例模式应用场景。

  
  

评论区

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