单例模式
来源:互联网 发布:同花顺炒股交易软件 编辑:程序博客网 时间:2024/06/16 12:37
1. 什么是单例模式?
单例模式是设计模式中的一种,是设计模式中最简单,最常用的一种模式,这种模式用来保证某一个类的对象实例在应用中只有一个,即只被创建一次。
2. 在C++中如何创建单例模式?
有两种具体创建单例模式的方法,分别是“饿汉模式”和“懒汉模式”。
step1: 将构造函数声明为私有的。
step2: 在类中声明一个私有的静态的类的对象(实例)。
step3: 定义一个static类型的public类型的事例获取函数。
3. 饿汉模式。
class Singleton {
private:
Singleton() {} //将构造函数定义为私有的,避免直接创建外部对象。
~Singleton() { delete sig; }
static Singleton *sig; //声明一个私有的静态数据成员sig用来作为为一个实例。
public:
static Singleton *getInstance() //声明一个static类型的接口获得实例
{
return sig;
}
};
Singleton* Singleton::sig = new Singleton; //在类外进行实例的定义和初始化
懒汉模式
class Singleton2 {
private:
Singleton2() {}
static Singleton2 *sig; //只给出声明
public:
static Singleton2* getInstance();
};
Singleton2* Singleton2::getInstance()
{
if (sig == NULL)
{
sig = new Singleton2;
}
return sig;
}
Singleton2* Singleton2::sig; //不初始化,和饿汉模式的区别。
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- 投资、投机、赌博、交易
- angular4实战(4)ngrx
- poj2187(凸包)
- ASP.NET增删改
- C++实现一个日期类
- 单例模式
- 测试系列-测试用例设计
- 【LeetNode2-1-6】Longest consecutive sequence--C++源代码(VS2015)
- AVL树的创建
- 插入最少的字符使字符串成为回文串
- 计数排序
- 模板:kruskal
- P4876 近似排列计数
- 1134. Vertex Cover (25)