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;

}

相关推荐
@小码农3 分钟前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
这儿有一堆花4 分钟前
住宅代理(Residential Proxy)技术指南
开发语言·数据库·php
一只大袋鼠15 分钟前
Java进阶:CGLIB动态代理解析
java·开发语言
秦ぅ时17 分钟前
保姆级教程|OpenAI tts-1-hd模型调用全流程(Python+curl+懒人用法)
开发语言·python
Eiceblue25 分钟前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
爱滑雪的码农30 分钟前
Java基础十三:Java中的继承、重写(Override)与重载(Overload)详解
java·开发语言
Java面试题总结31 分钟前
使用 Python 设置 Excel 数据验证
开发语言·python·excel
【 】42334 分钟前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
eastyuxiao40 分钟前
OpenClaw 自动处理核心逻辑
开发语言·人工智能
小郑加油41 分钟前
python学习Day10天:列表进阶 + 内置函数 + 代码简化
开发语言·python·学习