首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

小弟我所理解的设计模式-单例模式

2013-03-25 
我所理解的设计模式--单例模式单例模式,顾名思义,就是只能由一个实例,那么我们就必须保证该类不能被复制。

我所理解的设计模式--单例模式

单例模式,顾名思义,就是只能由一个实例,那么我们就必须保证

    该类不能被复制。该类不能被公开的创造。

那么对于C++来说,他的构造函数,拷贝构造函数和他的赋值函数都不能被公开调用。

但对于该私有的构造函数的构造时机上来说也可以分两种情况来构造:

     只有当需要改类的时候去构造(即为懒汉模式) 在程序开始之前我就先构造好,你到时候直接用就可(即为饿汉模式)

那么我分别来说说这两种模式:

懒汉模式,静态局部变量只会被初始化一次即第一次执行的时候,其生命周期与程序的生命周期是相同的。这个同样适用于多线程的情况。
class single2{public:static single2* getInstance(){return mInstance;}int helloSingle() {return 1;}private:static single2* mInstance;private:single2(){};single2(const single2&);single2& operator=(const single2&);};single2* single2::mInstance = new single2;


我们运用静态局部变量和静态实例的特性,使得我们的这两种模式都适用于多线程。


LCL_data 原创于CSDN.NET[http://blog.csdn.net/lcl_data/article/details/8709701]

热点排行