一、概念
单例模式是一种常用的软件设计模式。它的核心结构只包含一个被称为单例的特殊类。它的目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享
二、类型
懒汉式、饿汉式和双重锁的形式。
懒汉:第一次用到类的实例的时候才回去实例化。
饿汉:单例类定义的时候就进行实例化。
三、代码
1、懒汉
class singleton //实现单例模式的类 { private: singleton(){} //私有的构造函数 static singleton* Instance; public: static singleton* GetInstance() { if (Instance == NULL) //判断是否第一调用 Instance = new singleton(); return Instance; } };
2、饿汉
class singleton //实现单例模式的类 { private: singleton(){} //私有的构造函数 static singleton* Instance; public: static singleton* GetInstance() { return Instance; } };