C++ 单例类 使用方式,包含创建和销毁
时间: 2024-02-27 11:52:41 浏览: 78
C++中的单例类一般使用静态成员变量和静态成员函数来实现。以下是一个简单的C++单例类的示例代码:
```c++
class Singleton {
public:
static Singleton* getInstance() {
if (instance == nullptr) {
instance = new Singleton();
}
return instance;
}
private:
Singleton() { /* 私有构造函数 */ }
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
static Singleton* instance;
};
Singleton* Singleton::instance = nullptr;
```
在使用单例类时,可以通过Singleton::getInstance()方法来获取单例类实例的指针。需要注意的是,由于单例类的构造函数是私有的,因此只能通过getInstance方法来创建单例类实例。
以下是一个示例代码,演示了如何使用单例类:
```c++
Singleton* instance = Singleton::getInstance();
// 使用单例类实例进行操作
// ...
// 在不再需要单例类实例时,可以调用destroyInstance方法进行销毁
Singleton::destroyInstance();
```
在销毁单例类实例时,可以调用Singleton::destroyInstance()方法来实现。需要注意的是,销毁单例类实例时,需要先判断单例类实例是否为nullptr,以避免出现空指针引用的问题。同时,也需要显式地删除单例类实例,并将其指针设置为nullptr,以防止出现悬挂指针的问题。
阅读全文