特点:一个类有且仅有一个对象。
优点:减少内存开支、减少性能开支,避免多重占用,可以全局访问。
模式:饿汉模式(创建静态对象时初始化),
懒汉模式(在进态函数中创建实例,如果是多线程同时判断似有静态实例是否为空,则可能产生多个实例)
实现:构造函数设为私有,避免多次创建实例。为了避免后面的派生类继承这个类,误
将该类多次初始化(即内存中多个备份)
在静态函数中创建对象,因为静态函数是属于类的所有对象共有,静态函数只能调用静态成员,所以即使多次调用静态函数,静态成员也只初始化一次。也就是只创建一次实例。
//静态变量必须在类外初始化
template<typename T>
T* Singleton<T>::value_ = NULL;
使用场景:配置文件。