设计模式2-单例模式
来源:互联网 发布:软件开发关注问题 编辑:程序博客网 时间:2024/05/24 06:42
单例模式看起来挺简单的,但我觉得特别实用,尤其是在线程方面应用广泛;
简单的说,单例模式就是系统中只允许产生这个类的一个实例;
单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问。唯一实例类Singleton在静态成员函数中隐藏创建实例的操作。习惯上把这个成员函数叫做Instance(),它的返回值是唯一实例的指针。
代码:
#include<iostream>class Singleton{private: Singleton(){} static Singleton* p_instance; class CGarbo//只是为了释放资源 { public: ~CGarbo() { if(Singleton::p_instance) delete p_instance; } }; static CGarbo garbo;//定义成员为了最后自动调用析构函数public: static Singleton* getInstance() { if(p_instance==NULL) { p_instance=new Singleton(); } return p_instance; }};int main(){ Singleton *ps1=Singleton::getInstance(); Singleton *ps2=ps1->getInstance(); return 0;}
当然,单例模式还可以根据不同的应用场景进行调整,后续进行讨论…
0 0
- 设计模式(2)-单例模式(Singleton)
- 设计模式(四)--单例模式(2)
- Java设计模式--单例模式2
- 设计模式(2)-单例模式(Singleton)
- 设计模式2:单例模式
- 2、设计模式之单例模式
- 设计模式-2-单例模式
- 设计模式-2、单例模式
- 设计模式2-单例模式
- 设计模式-单例模式(2)
- 设计模式(2)--单例模式
- 单例模式(2-设计模式)
- JAVA设计模式--单例模式2
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 用 Octave 对音频文件进行基本数学的信号处理
- comparator接口与Comparable接口的区别
- Centos7命令总结
- Sicily 1509.Rails——栈入栈出
- 重载,继承,重写和多态的区别:(个人感觉讲述的很通俗易懂)
- 设计模式2-单例模式
- CentOS7 设置系统时间
- Android Drawable资源中selector、layer-list和shape标签详解
- Eclipse常见快捷键
- 二叉排序树(BST):建立,遍历(前中后),判定,查找(递归+非递归)
- Web框架学习篇--Strust1(三) 过滤器、监听器
- 对抗雾霾的健康饮食注意
- HDU3440House Man(差分约束)
- 特笑(1):滤镜+video设计S6总决赛介绍页面