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;

}

相关推荐
hashiqimiya4 分钟前
harmonyos的鸿蒙的跳转页面的部署
开发语言·前端·javascript
她说彩礼65万12 分钟前
C#设计模式 单例模式实现方式
单例模式·设计模式·c#
2301_8079973812 分钟前
代码随想录-day26
数据结构·c++·算法·leetcode
零基础的修炼13 分钟前
Linux---序列化与反序列化
java·开发语言
敲代码的嘎仔20 分钟前
JavaWeb零基础学习Day6——JDBC
java·开发语言·sql·学习·spring·单元测试·maven
闭着眼睛学算法21 分钟前
【双机位A卷】华为OD笔试之【排序】双机位A-银行插队【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
小欣加油24 分钟前
leetcode 3318 计算子数组的x-sum I
c++·算法·leetcode·职场和发展
GIS瞧葩菜30 分钟前
【无标题】
开发语言·前端·javascript·cesium
j_xxx404_1 小时前
C++ STL:list|了解list|相关接口|相关操作
开发语言·c++
kyle~1 小时前
机器视觉---Intel RealSense SDK 2.0 开发流程
运维·c++·windows·深度相机·intel realsense