单例设计模式C++
什么是单例设计模式单例模式是一种对象创建型模式使用单例模式可以保证一个类只生成一个唯一对象。也就是说整个程序只能创建一个用单例设计模式设计的类。单例模式实现步骤懒汉式在类中创建对象并返回静态指针给类外的对象使用1:构造函数私有化2:提供静态指针3:提供静态方法返回静态指针饿汉式在类外创建对象赋给类中静态指针作为全局变量使用为什么要使用单例模式1、需要生成唯一序列的环境。2、需要频繁实例化然后销毁对象。3、创建对象时耗时过多或者耗资源过多但又经常用到的对象。4、方便资源相互通信的环境。实际案例多线程中网络资源的初始化回收站机制任务管理器应用程序日志管理#include iostream using namespace std; class SingeleTon { public: static SingeleTon* m_singletop;// 2:提供静态指针 static SingeleTon* GetSingleTop()//3:提供静态方法返回静态指针 { if (m_singletop nullptr) m_singletop new SingeleTon; return m_singletop; } void TestPrint() { cout 测试函数。。。。。 endl; } protected: SingeleTon(); //1:构造函数私有化 }; SingeleTon* SingeleTon::m_singletop nullptr; //饿汉式时在此处new出对象作为全局变量使用 SingeleTon::SingeleTon() { cout 构造对象。。。。。。。。。。。 endl; m_singletop nullptr; } int main() { SingeleTon* p1 SingeleTon::GetSingleTop(); SingeleTon* p2 SingeleTon::GetSingleTop(); cout p1: hex p1 endl;//以16进制输出p1的地址 cout p2: hex p1 endl; p1-TestPrint(); p2-TestPrint(); return 0; }