C++单例模式是一种常见的设计模式。作用是有且仅有一个对象,注意单例模式的类不能被实例化。
常见的实现方式如下所示:
class CApp
{public:
static CApp * GetInstance()
{
if(m_pInstance == NULL) //判断是否第一次调用
m_pInstance = new CApp;
return m_pInstance;
}
void RelaseInstance()
{
delete this;
}
private:
CApp() //构造函数是私有的
{
}
CApp(const CApp& that)//拷贝构造函数也是私有的
{
}
~CApp()
{
m_pInstance = NULL;
}
static CApp *m_pInstance;
};