#include <iostream>
#include <vector>
#include <thread>
#include <list>
#include <mutex>
using namespace std;
//单例类
class MyCSA
{
private:
MyCSA() {};//私有化的构造函数
private:
static MyCSA *m_instance;//静态成员变量
public:
static MyCSA *getInstance();
class ReleaseC
{
public:
~ReleaseC()
{
if (MyCSA::m_instance)
{
delete MyCSA::m_instance;
MyCSA::m_instance = nullptr;
}
}
};
};
MyCSA *MyCSA::m_instance = nullptr;
MyCSA * MyCSA::getInstance()
{
if (m_instance == nullptr)
{
m_instance = new MyCSA();
static ReleaseC cl;//必须初始化
}
return m_instance;
}
int main()
{
//一.设计模式大概谈
MyCSA*p_a = MyCSA::getInstance();//创建一个对象,返回该类(MyCSA)对象的指针;
MyCSA*p_b = MyCSA::getInstance();//创建一个对象,返回该类(MyCSA)对象的指针;
cout << "I love China!" << endl;//
}
C++ 单例模式
于 2022-02-16 18:13:58 首次发布