C++单例模式
简述 单例模式(Singleton Pattern)是设计模式中最简单的形式之一,其目的是使得类的一个对象成为系统中的唯一实例。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该类的对象。 | 版权声明:一去、二三里,未经博主允许不得转载。 UML 结构图 要点 单例模式的要点有三个: 单例类有且仅有一个实例 单例类必须自行创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 从具体实现角度来说,可分为以下三点: 提供一个 private 构造函数(防止外部调用而构造类的实例) 提供一个该类的 static private 对象 提供一个 static public 函数,用于创建或获取其本身的静态私有对象(例如:GetInstance()) 除此之外,还有一些关键点(需要多加注意,很容易忽视): 线程安全(双检锁 - DCL,即:double-checked locking) 资源释放 局部静态变量 这种方式很常见,实现非常简单,而且无需担心单例的销毁问题。 // singleton.h #ifndef SINGLETON_H #define SINGLETON_H // 非真正意义上的单例 class Singleton { public: static Singleton&