为什么需要单例模式?
面向对象很好的解决了抽象问题,但是必不可免的要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。
在软件系统中,经常有一些特殊的类,必须保证他们在系统中只存在一个实例,才能确保他们的逻辑正确性、以及良好的效率。
如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?
什么是单例模式
保证一个类仅有一个实例,并提供一个该实例的全局访问点。
类图
例子
class Singleton{
private:
Singleton();
Singleton(const Singleton& other);
//拷贝构造函数设置为私有的,让外界不能使用它,也不要有克隆接口,防止出现多个对象实例
public:
s