单例模式了解
一般情况下,我们需要一些工具性质的类,这种类没有太多跟自身有关的数据。若每次使用时都new一个实例会增加不必要的开销,也是代码臃肿,其实我们只需要一个实例即可。若是采用全局变量或是静态变量方式,虽然可以实现但是影响了封装性。此时我们可以使用设计模式中的Singleton模式,我们把构造函数声明为private, 这样就不会被外部new了。常见的单例模式主要分两种,一种是在声明时立即实例化,这种称为“饿汉模式”,另一种是在使用时才实例化,这种称为“懒汉模式”。
单例模式C++实现
以下代码中给出了“饿汉模式”和“懒汉模式”
CSingleton类头文件:
#pragma once
class CSingleton
{
public:
static CSingleton* getInstance();
private:
CSingleton(void);
CSingleton(const CSingleton& rhs);
CSingleton& opera