单例模式
来源:互联网 发布:运营美工对骂动态图 编辑:程序博客网 时间:2024/06/10 18:49
单例模式是一种对象创建模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。
类图
为什么使用单例模式?
在应用开发中,常常有如下需求:
*在多线程之间只初始化一个资源。
*在整个程序空间中使用全局变量共享资源。
*在大规模系统中,为了性能考虑,以及需要节省兑现的创建时间等等。
懒汉式
class Singelton{private: static Singelton *pnew; Singelton(){ cout << "Singelton构造函数执行" << endl; }public: static Singelton* getInstance(){ if (pnew == NULL){ pnew = new Singelton(); } return pnew; } static void SingeltonFree(){ if (pnew != NULL){ delete pnew; pnew = NULL; } }};Singelton *Singelton::pnew = NULL;//类内静态变量的初始化要放在类外面
调试函数:
int main(void){ Singelton *p1 = Singelton::getInstance(); Singelton *p2 = Singelton::getInstance(); if (p1 == p2){ cout << "同一个对象" << endl; } else{ cout << "不是同一个对象" << endl; } Singelton::SingeltonFree(); system("pause"); return 0;}
运行结果:
饿汉式
class Singelton{private: static Singelton *pnew; Singelton(){ cout << "Singelton构造函数执行" << endl; }public: static Singelton* getInstance(){ return pnew; } static void SingeltonFree(){ if (pnew != NULL){ delete pnew; pnew = NULL; } }};Singelton *Singelton::pnew = new Singelton();//类内静态变量的初始化要放在类外面
阅读全文
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- springmvc学习笔记(7)-springmvc整合mybatis之mapper
- 三. Requests库的基本使用
- HDU
- 【bzoj1570】Blue Mary的旅行
- Ubuntu 16.04下安装64位谷歌Chrome浏览器
- 单例模式
- 机器学习中的训练集,验证集及测试集的关系
- 九度OJ题目1017:还是畅通工程
- tcp连接过程及状态详解(仅作收藏)
- hdu 1236 排名
- springmvc学习笔记(8)-springmvc整合mybatis之service
- Oracle常用sql语句(二)之组函数、多表查询
- 10.JAVA之GUI编程弹出对话框Dialog
- 如何安装Python中numpy,在DOS验证下一步步解决安装问题(DOS下从python的验证到pip验证到Numpy安装成功)