Riordon

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

引言: 当只需一个对象的唯一实例时(如弹出式菜单,不该让它点击一次就实例化一次),"全局变量+判断"不是很好的策略,毕竟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;
}
小结:单例模式一般用于那种很消耗资源和时间的对象。
posted on 2013-04-23 21:34  Riordon  阅读(118)  评论(0)    收藏  举报