c++绘制饿汉式单例模式
时间: 2024-05-25 19:08:19 浏览: 127
C++中的饿汉式单例模式是一种常见的设计模式,用于保证一个类只能有一个实例,并提供全局访问点。
下面是一个示例代码,演示了如何实现饿汉式单例模式:
```c++
#include <iostream>
class Singleton {
public:
static Singleton& getInstance() {
static Singleton instance;
return instance;
}
void doSomething() {
std::cout << "Singleton is doing something" << std::endl;
}
private:
Singleton() {}
~Singleton() {}
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
};
int main() {
Singleton& instance = Singleton::getInstance();
instance.doSomething();
// error: 'Singleton::Singleton(const Singleton&)' is private
// Singleton anotherInstance(instance);
return 0;
}
```
在这个示例中,我们定义了一个Singleton类,并将其构造函数、拷贝构造函数和赋值操作符设置为私有,以防止外部创建实例或复制实例。getInstance方法返回一个静态局部变量,保证了只会创建一个实例,并提供了全局访问点。
相关问题:
1. 什么是单例模式?
2. 饿汉式和懒汉式单例模式有什么区别?
3. 什么是静态局部变量?
4. 如何防止外部复制单例对象?
阅读全文