单例设计模式

2019-04-09  本文已影响0人  奥斯特洛司机

特点:一个类有且仅有一个对象。
优点:减少内存开支、减少性能开支,避免多重占用,可以全局访问。
模式:饿汉模式(创建静态对象时初始化),
懒汉模式(在进态函数中创建实例,如果是多线程同时判断似有静态实例是否为空,则可能产生多个实例)

实现:构造函数设为私有,避免多次创建实例。为了避免后面的派生类继承这个类,误
将该类多次初始化(即内存中多个备份)
在静态函数中创建对象,因为静态函数是属于类的所有对象共有,静态函数只能调用静态成员,所以即使多次调用静态函数,静态成员也只初始化一次。也就是只创建一次实例。

//静态变量必须在类外初始化
template<typename T>
T* Singleton<T>::value_ = NULL;

使用场景:配置文件。

上一篇 下一篇

猜你喜欢

热点阅读