设计模式整理
Created At :
设计模式
// 懒汉式单例模式
class Singleton
{
private:
Singleton() { }
static Singleton * pInstance;
public:
static Singleton * GetInstance()
{
if (pInstance == nullptr)
pInstance = new Singleton();
return pInstance;
}
};
// 线程安全的单例模式
class Singleton
{
private:
Singleton() { }
~Singleton() { }
Singleton(const Singleton &);
Singleton & operator = (const Singleton &);
public:
static Singleton & GetInstance()
{
// 编译是使用了C++11的特性,在C++11内部静态变量的方式里是线程安全的,只创建了一次实例
static Singleton instance; //对对象使用static会调用默认构造函数
return instance;
}
};
观察者模式