c++怎么实现单例模式
在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()
获取单例对象。
这两种方式都将构造函数设为私有,禁止外部创建对象,通过静态成员变量和静态成员函数来实现单例对象的创建和获取。在饿汉式中,单例对象在程序启动时就会被创建出来,在懒汉式中,单例对象在第一次被使用时才会被创建出来。
版权声明
本文仅代表作者观点,不代表米安网络立场。
上一篇:香港高防服务器费用是多少 下一篇:vscode怎么配置go开发环境
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。