当前位置: 首页 > news >正文

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;
}

http://www.lryc.cn/news/332667.html

相关文章:

  • 虚幻UE5智慧城市全流程开发教学
  • docker的安装及入门指令
  • 聚能共创下一代智能终端操作系统 软通动力荣膺“OpenHarmony优秀贡献单位”
  • 云服务器ECS租用价格表报价——阿里云
  • 光猫桥接模式详细步骤
  • 构建开源可观测平台
  • SketchUp Pro 2024 for mac 草图大师 专业的3D建模软件
  • 通过 Cookie、Redis共享Session 和 Spring 拦截器技术,实现对用户登录状态的持有和清理(三)
  • 学习 Git 基础知识 - 日常开发任务手册
  • pip和conda 设置安装源
  • 数据分析之Logistic回归分析中的【多元有序逻辑回归】
  • 路由器拨号失败解决方法
  • Oracle 中 where 和 on 的区别
  • NLP学习路线总结
  • AI绘图cuda与stable diffusion安装部署始末与避坑
  • OpenCv —— cv::VideoCapture设置摄像头图像格式为“MJPEG“
  • Qt事件学习案例
  • 无锡国家集成电路设计中心某公司的单锂小电机直流电机H桥驱动电路
  • 数据分析 -- numpy
  • 开源项目生存现况:xz投毒事件引发的思考与GNU tar维护挑战
  • 前端开发语言有哪些
  • 速盾:cdn加速https额外收费吗?
  • 【蓝桥杯嵌入式】13届程序题刷题记录及反思
  • C++类 单例模式
  • prompt 工程案例
  • 燃气管网安全运行监测系统功能介绍
  • 正则表达式(2)
  • xv6源码分析 001
  • 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装)
  • JS代码小知识(个人向)