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;

}

相关推荐
yujunl1 分钟前
U9系统admin用户账号密码生成Do方法
开发语言
MaikieMaiky8 分钟前
C++ STL 系列(一):string 容器详解与示例
开发语言·c++
之歆9 分钟前
DAY_25 JavaScript 原型、原型链与值类型/引用类型 ── 深度全解(下)
开发语言·javascript·ecmascript
段ヤシ.9 分钟前
回顾Java知识点,面试题汇总Day7(持续更新)
java·开发语言
努力努力再努力wz9 分钟前
【Qt入门系列】深入理解信号与槽:从事件响应到自定义信号机制
c语言·开发语言·数据结构·数据库·c++·qt·mysql
在角落发呆11 分钟前
DTU 数据转发服务器:工业物联网的隐形桥梁
开发语言·php
Sakuyu4346814 分钟前
C语言基础--基本数据类型
c语言·开发语言
在坚持一下我可没意见16 分钟前
Python 修仙修炼录 05:循环神通,省去无用苦修
开发语言·python·面试·入门·循环·复习
Hua-Jay28 分钟前
OpenCV联合C++/Qt 学习笔记(二十)----Harri角点检测、Shi-Tomas角点检测及亚像素级别角点位置优化
c++·笔记·qt·opencv·学习·计算机视觉
techdashen34 分钟前
Rust 社区在 4 月做了什么:项目管理月报解读
开发语言·rust·mfc