C++实现单例模式

#include <iostream>

class Singleton {

private:

static Singleton* instance; // 指向单例实例的指针

Singleton() {} // 私有构造函数

public:

// 获取单例对象的唯一全局访问点

static Singleton* getInstance() {

if (instance == nullptr) { // 懒加载

instance = new Singleton();

}

return instance;

}

// 示例成员函数

void doSomething() {

std::cout << "Doing something..." << std::endl;

}

};

Singleton* Singleton::instance = nullptr; // 静态初始化单例实例

int main() {

Singleton* s1 = Singleton::getInstance();

Singleton* s2 = Singleton::getInstance();

// 验证s1和s2是否指向同一个对象

if (s1 == s2) {

std::cout << "s1 and s2 are the same instance." << std::endl;

}

s1->doSomething();

s2->doSomething();

return 0;

}

相关推荐
老当益壮梁奶奶几秒前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
雪的季节6 分钟前
C++ 高级(泛型编程与模板)(有空再研究吧)
c++
三十岁老牛再出发7 分钟前
8月21日总结
c++·python
longxiaozhang67 分钟前
C#继承:让代码少写一点,偷懒的好方法
开发语言·c#
weixin_4407305020 分钟前
python+request实现接口-参数化小结
开发语言·python
CHHH_HHH25 分钟前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu
yngsqq34 分钟前
窗体快速取消
java·开发语言
XiaQ09191 小时前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习
不可求~1 小时前
C++ 报错交给 AI 之前,先准备好这 8 类信息
开发语言·c++·人工智能
名字还没想好☜1 小时前
用 Python struct 解析二进制协议:pack/unpack、字节序与对齐踩坑
开发语言·python·二进制·struct