转:http://hi.baidu.com/skyjsq/blog/item/889c3e50e966c25b1038c214.html
只有一个实例的类?----zz
|
设计模式里有种“单件模式”,就是一个类只有一个实例,很多场合会用到这种设计方法。
class
A![]()
{ public:![]() static A*GetSingleton()![]() { staticbool inited= false; if (!inited)![]() { a= new A(); inited= true; } return a; }![]() staticvoid Release()![]() { if (NULL!= a)![]() { delete a; a= NULL; } }![]() private: static A*a;![]() A(){}![]() ~A(){} }
;
使用的时候先声明A::a = NULL,然后用A::GetSingleton()就可以了。 PS: 通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。 { { { { (1) private |
本文深入探讨单件模式的设计原理与实现方法,并通过C++代码实例展示了如何确保类只有一个实例,以及如何在应用系统中高效地管理配置信息。




}
}
1万+

被折叠的 条评论
为什么被折叠?



