C++设计模式实现 - 单例模式
作者:互联网
定义
单例模式顾名思义只有一个实例,而且必须是自己创建自己的唯一实例,然后将实例通过其他接口提供给其他对象。
在开发过程中,我们都会用到很多全局变量和多类复用函数(比如获取随机数之类的函数),这里加个全局变量,那里也加个全局变量,导致代码难以维护。通过使用单例模式,我们可以很好的维护这些全局变量
举例
当一个项目中有很多全局变量和多类复用函数时,参考如下代码:
/*
变量单例
*/
class VarSingle
{
protected:
VarSingle() {}
static VarSingle* pThis;
public:
VarSingle(VarSingle& other) = delete;
void operator=(const VarSingle&) = delete;
static VarSingle* getInstance() {
if (!pThis)
pThis = new VarSingle();
return pThis;
}
public: // 全局变量维护
int globalVal1;
double globalVal2;
};
/*
多类复用函数单例
*/
class FuncSingle
{
protected:
FuncSingle() {}
static FuncSingle* pThis;
public:
FuncSingle(FuncSingle& other) = delete;
void operator=(const FuncSingle&) = delete;
static FuncSingle* getInstance() {
if (!pThis)
pThis = new FuncSingle();
return pThis;
}
public:
int getRand(int min, int max); // 复用函数 - 返回随机数
}
标签:全局变量,int,C++,FuncSingle,单例,pThis,设计模式,VarSingle 来源: https://blog.csdn.net/weixin_52511809/article/details/115439989