C++ 单例模式

最近公司做项目用到的,顺便记录一下。

只包含一个被称为单例的特殊类.它的目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享.

 

懒汉式:

第一次用到类的实例的时候才回去实例化 就是说它的返回值是当这个函数首次被访问时被创建的.

class Singleton
{
public:
	static Singleton* GetInstance();

private:
	Singleton();
	static Singleton* instance;//静态成员指针
};
Singleton* Singleton::instance = nullptr;
Singleton* Singleton::GetInstance()
{
	if (instance == nullptr)
		instance = new Singleton();
	return instance;
}

静态的局部变量是在调用的时候分配到静态存储区所以在编译的时候没有分配 线程不安全</