懒汉式单例

懒汉式是典型的时间换空间,也就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间。当然,如果一直没有人使用的话,那就不会创建实例,则节约内存空间

class Singleton
{
private:
//-使用一个类变量缓存曾经创建的类实例对象
static Singleton *instance;
//-对构造器用private修饰,隐藏起来,禁止直接new该类的构造器
Singleton();
//-提供一个public修饰的静态方法,作为该类的入口,作用是保证只产生一个类对象实例,并返回
public:
static Singleton *getInstance()
{
if (instance == NULL)
{
instance = new Singleton();
}
return instance;
}
};

单例模块做法:

> 1.构造函数是私有的
> 2.提供静态方法创建一个该类的对象
> 3.返回该类的对象

你可能感兴趣的:(懒汉式单例)