C++单例模式
应该有好多小伙伴会遇到对象频繁创建与销毁,或者是多个类共用一个类的时候怎么解决,今天就给大家好好讲讲单例模式
1、既然是单例模式那就只能存在一个对象
2、头文件
class Singleton{
public:
static Singleton* getInstance();
private:
Singleton();
//把复制构造函数和=操作符也设为私有,防止被复制
Singleton(const Singleton&);
Singleton& operator=(const Singleton&);
static Singleton* instance;
};
3、源文件
#include "Singleton.h"
//因为是static成员变量,需要在这里初始化
Singleton* Singleton::instance = NULL;
Singleton::Singleton(){
}
Singleton::Singleton(const Singleton&){
}
Singleton& Singleton::operator=(const Singleton&){
}
//在此处初始化
Singleton* Singleton::getInstance(){
if(instance == NULL)
{
instance = new Singleton();
}
return instance;
}
4、使用方法
int main(int argc, char *argv[])
{
Singleton* singleton1 = Singleton::getInstance();
//下面就可以用这个类里面的变量或者方法等
Singleton* singleton2 = Singleton::getInstance();
//singleton1和singleton2两个类指针对象共享同一份成员变量等
return 0;
}
走的太远不要忘记为什么出发,你的态度决定你的高度。

浙公网安备 33010602011771号