一、概念
单例模式就是一个类只能有一个实例,并且提供一个访问它的全局访问点。
通常通过私有化构造函数来实现只能通过类的内部创建实例。
二、饿汉式
饿汉式是单例模式中的一种,其特点为:在定义是就立即创建类的实例(真的饿了),但饿汉式是线程安全的,其核心代码如下:
class Singleton{
private:
Singleton(){
}
static Singleton* m_instance;
public:
static Singleton* getInstance(){
return m_instance;
}
};
Singleton* Singleton::m_instance = new Singleton;
完整实例:
#include <iostream>
using namespace std;
class Singleton {
static Singleton* singleton;
Singleton()
{
cout << "这是一个无参构造" << endl;
}
~Singleton()
{
cout << "这是析构" << endl;