单例模式
来源:互联网 发布:圭尔夫大学知乎 编辑:程序博客网 时间:2024/06/16 14:10
单例模式一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
具体实现角度来说:
一、单例模式的类只提供私有的构造函数,
二、类定义中含有一个该类的静态私有对象,
三、该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。
饿汉模式:
头文件:
#ifndef SINGLE_H#define SINGLE_H//饿汉模式单例class Single{public: static Single *getsingle() { static Single sg; return &sg; }private: Single(); ~Single();};#endif // SINGLE_H源文件:
#include "single.h"#include <QDebug>Single::Single(){ qDebug() << "Single()!";}Single::~Single(){ qDebug() << "~Single()";}懒汉模式:
头文件:
#ifndef SINGLETON_H#define SINGLETON_H//懒汉模式单例class Singleton{public: static Singleton *getSingleton() { if(nullptr == m_data) { m_data = new Singleton; } return m_data; } void Distory();private: Singleton(); ~Singleton(); static Singleton *m_data;};#endif // SINGLETON_H源文件:
#include "singleton.h"#include <QDebug>void Singleton::Distory(){ delete m_data;}Singleton::Singleton(){ qDebug() << "Singleton()!";}Singleton::~Singleton(){ qDebug() << "~Singleton()!"; m_data = nullptr;}Singleton *Singleton::m_data = NULL;编译环境:Qt:5.3.2
阅读全文
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- 开始一个django项目
- hadoop编程(1)-单机环境、伪分布式环境配置
- mapreduce自定义类型-空指针异常之坑NullPointerException
- 好疑惑
- windows上自动设置java环境变量的脚本
- 单例模式
- 孤儿进程与僵尸进程
- Principal Component Analysis(主成分分析)
- centos7安装nginx 两种方式
- maven-笔记
- 手机不root也能看数据库
- Ubuntu刚使用时的问题
- 如何在kernel中得到cpu的电压和频率
- 关于Fragment的IllegalStateException的部分经验