我所理解的设计模式--单例模式
单例模式,顾名思义,就是只能由一个实例,那么我们就必须保证
那么对于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]