c++怎么实现单例模式

   2025-02-15 7590
核心提示:在C++中,可以通过以下两种方式实现单例模式:饿汉式单例模式:class Singleton {private:static Singleton* instance;Singleton

在C++中,可以通过以下两种方式实现单例模式:

饿汉式单例模式:
class Singleton {private:    static Singleton* instance;    Singleton() {} // 将构造函数设为私有,禁止外部创建对象public:    static Singleton* getInstance() {        if (instance == nullptr) {            instance = new Singleton();        }        return instance;    }};Singleton* Singleton::instance = nullptr;

使用时可以通过Singleton::getInstance()获取单例对象。

懒汉式单例模式:
class Singleton {private:    static Singleton* instance;    Singleton() {} // 将构造函数设为私有,禁止外部创建对象public:    static Singleton* getInstance() {        if (instance == nullptr) {            instance = new Singleton();        }        return instance;    }};Singleton* Singleton::instance = nullptr;

使用时可以通过Singleton::getInstance()获取单例对象。

这两种方式都将构造函数设为私有,禁止外部创建对象,通过静态成员变量和静态成员函数来实现单例对象的创建和获取。在饿汉式中,单例对象在程序启动时就会被创建出来,在懒汉式中,单例对象在第一次被使用时才会被创建出来。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言