引言: 当只需一个对象的唯一实例时(如弹出式菜单,不该让它点击一次就实例化一次),"全局变量+判断"不是很好的策略,毕竟C++不提倡全局,这时Singleton模式就是首选...
Singleton模式(单一实例): 保证一个类仅有一个实例,并提供一个访问它的全局访问点。
实例:
class CSingleton;
class CSingleton
{
private:
CSingleton()
{
}
CSingleton(const CSingleton &rObj)
{
}
public:
static CSingleton& GetInstance()
{
return m_Singleton;
}
private:
static CSingleton m_Singleton;
};
CSingleton CSingleton::m_Singleton;
客户端
int main(int argc, char* argv[])
{
//CSingleton obj; //不能实例化
CSingleton::GetInstance(); //通过静态共有函数实例化
return 0;
}
小结:单例模式一般用于那种很消耗资源和时间的对象。
我喜欢一无所有,这样就只能一步一步的创造世界...

浙公网安备 33010602011771号