单例模式
单例模式(singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点
通常我们可以让全局变量时的一个对象被访问,但它不能防止你实例化多个对象。一个最好的的方法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法『DP』
单例模式(singleton)结构图
Singleton
- Instance:Singleton
- Singleton( )
- GetInstance( )
// 代码。 双重锁定
#include "stdafx.h"
class CSingleton
{
public:
static CSingleton * m_pSingleton;
static CSingleton * GetInstance();
private:
CSingleton();
};
CSingleton * CSingleton::m_pSingleton = NULL;
CSingleton * CSingleton::GetInstance()
{
if (m_pSingleton == NULL)
{
m_pSingleton = new CSingleton();
}
return m_pSingleton;
}
CSingleton::CSingleton()
{
}
int _tmain(int argc, _TCHAR* argv[])
{
CSingleton *pSingle = CSingleton::GetInstance();
CSingleton *psingle2 = CSingleton::GetInstance();
return 0;
}