楔子:
本应该从A开始学起,只是Singleton比较熟悉,从学Java时就知道,不过遗憾,学Java就学了这么一个模式。
Singleton模式,也就单件模式、单态模式,相应的类也叫单对象类。
模式意图:类只有一个对象,提供一个访问它的全局访问点。
#pragma once
#include <iostream>
using namespace std;
class Singleton
{
public:
static Singleton* InstancePtr()
{
return &m_Instance;
}
static Singleton& Instance()
{
return m_Instance;
}
void print()
{
cout<<"Singleton Pattern Class!"<<endl;
}
private:
static Singleton m_Instance;
Singleton(void){};
~Singleton(void){};
};
Singleton Singleton::m_Instance;
看下实现:
#include "Singleton.h"
void main()
{
Singleton::Instance().print();
Singleton::InstancePtr()->print();
}