1、单例模式(Singleton):保证一个类只有一个实例,提供一个全局访问点;
class Singleton {
private:
static Singleton* instance;
Singleton() {
}
public:
static Singleton* getInstance() {
if (instance == nullptr) {
instance = new Singleton();
}
return instance;
}
};
Singleton* Singleton::instance = nullptr;
单例模式:懒汉模式和饿汉模式
懒汉模式是指在第一次使用时才创建实例,而饿汉模式是在程序启动时就立即创建实例。
1.1 懒汉模式
class Singleton {
public:
static Singleton& getInstance() {
static Singleton instance; // 在首次调用时创建实例
return instance;
}
// 禁止复制和赋值操作
Singleton(const Singleton&) =