一、类单例的作用
可以存储工程的公共成员属性及方法,独立于其他应用场景类,方便应用类调用。C++一开始应用类之间的调用跳转还是比较方便,但是当工程越大时间越久时,应用类的跳转及调用,让人感到极其的烦躁。比方,海外宝马车有一个车辆识别码,华晨宝马也有一个车辆识别码,这两者都属于宝马,进而可以使用一个车的类单例来存储共同的这个车辆识别码。
二、类单例的实现
在类.h文件中声明一个公有静态函数和一个私有静态智能指针
public:
static std::shared_ptr<CGetData> GetInstance();
private:
static std::shared_ptr<CGetData> m_pSelf;
在类.cpp文件初始化私有静态智能指针
shared_ptr<CGetData> CGetData::m_pSelf = nullptr;
实现GetInstance()函数
std::shared_ptr<CGetData> CGetData::GetInstance()
{
if (nullptr == m_pSelf)
{
m_pSelf = std::shared_ptr<CGetData>(new CGetData());
}
return m_pSelf;
}
三、类单例的调用
CGetData::GetInstance()->方法及属性