单例实现
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Singleton { public: static Singleton* Instance() //只提供一个公有化的指针返回 { return instance; } private: Singleton() //私有化默认构造参数 {} Singleton(const Singleton& s) //私有化拷贝构造 {} static Singleton* instance; //私有化静态变量 }; Singleton* Singleton::instance = new Singleton; //初始化 void test601() { Singleton* s1 = Singleton::Instance(); Singleton* s2 = Singleton::Instance(); if (s1 == s2) { cout << "s1和s2相同" << endl; } }
私有化拷贝构造,无法通过拷贝构造出新的指针
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步