C++实现单例模式
来源:互联网 发布:淘宝买家信誉度是什么 编辑:程序博客网 时间:2024/06/08 03:52
本篇博文我们来简单学习一下设计模式中最简单的一个模式——单例模式。单例模式我们将构造函数设计成私有化,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。此外,我们创建一个静态该类的指针,并且仅在静态函数中实例化一次。整个过程的实现就可以让无论多少次调用,类对象仅会构建一个。
它的优势主要以下几个方面:
① 控制资源的使用,通过线程同步来控制资源的并发访问;
② 控制实例产生的数量,达到节约资源的目的;
③ 作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的线程或者进程之间实现通信。
比如数据库连接池的设计一般采用单例模式,数据库连接是一种数据库资源。
单例模式相对比较简单,我们直接看下面的C++程序:
class Singleton{public: ~Singleton() { if (singleton != nullptr) { delete singleton; singleton = nullptr; } } static Singleton* GetInstance() // 唯一接口来实例化类对象 { if (singleton == nullptr) singleton = new Singleton();// 仅会实例化一个对象 return singleton; }private: static Singleton* singleton; // 静态类对象,类外需要初始化 Singleton() // 私有构造函数 { }};Singleton* Singleton::singleton = nullptr; // 类外初始化int main(){ Singleton* item1 = Singleton::GetInstance(); Singleton* item2 = Singleton::GetInstance(); return 0;}
以上是个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
转载请注明出处:http://blog.csdn.net/FX677588/article/details/76563255
阅读全文
1 0
- 设计模式--单例模式 C++实现
- Objective C 中实现单例模式
- Objective C 实现Singleton(单例)模式.
- Objective-C实现单例模式
- 【Objective-C】单例模式的实现
- objective-C 实现单例模式
- 单例模式代码实现(C++)
- 单例模式 (C语言实现)
- Objective-C实现单例模式
- Objective-C单例模式实现
- Objective-C 单例模式的实现
- Objective-c 实现单例设计模式
- c++--Singleton单例模式的实现
- 单例模式,C/C++实现
- 【C++】单例模式之C++实现
- C#单例模式
- C#-单例模式
- 单例模式(C++)
- Storm流式处理框架概述
- mot文件的单行校验与全局校验
- Spring boot 实践(日志log4J,修改端口)
- SessionFilter session的创建和销毁监听
- 规避使用 vue 的 v-html 指令的方法
- C++实现单例模式
- NP难问题与过拟合
- PHP变量
- 【shell】变量内容的删除和替换
- 构造函数、析构函数、拷贝构造函数,常函数
- 数据结构之树的一些基本操作
- Eclipse Debug不为人知的秘密
- jQuery学习笔记01
- 友元函数和运算符重载