引言

本文章只适用于简单的单例模式。由于本人也没有深究过。下面直接上代码。

示例

单例模式,就是只能创建一个该类的对象,因为这样其构造函数是私有的,外部只能通过接口获得创建的该类唯一的对象。

#ifndef CONFIG_H
#define CONFIG_H#include <QMutex>class Config
{private:Config();
public:static Config *getInstance();
private:static Config *             m_config;//创建的指向对象的指针static QMutex               m_mutex;//互斥锁};
#endif // CONFIG_H

下面是该类的定义

#include "config.h"
#include <QMutexLocker>Config *Config::m_config = nullptr;
QMutex  Config::m_mutex;
Config::Config()
{}
Config *Config::getInstance()
{if (m_config == nullptr) {//双重检测static QMutexLocker mutexLocker(&m_mutex);if (m_config == nullptr) {m_config = new Config;return m_config;}}return m_config;
}

类中声明的静态变量需要在类外定义。相关staitic的使用可以参考:
https://www.cnblogs.com/stevenshen123/p/11555758.html。

qt创建简单的单例模式相关推荐

  1. 201105阶段二qt创建简单工程

    目录 一.学习的知识点 qt的安装 qt项目 项目创建 项目例程 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 qt的安装 安装路径尽量不改,或者只修改盘符 https:/ ...

  2. Java设计模式之创建型:单例模式

    一.什么是单例模式: 单例模式可以确保系统中某个类只有一个实例,该类自行实例化并向整个系统提供这个实例的公共访问点,除了该公共访问点,不能通过其他途径访问该实例.单例模式的优点在于: 系统中只存在一个 ...

  3. 【Qt】简单Qt文本查找功能

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 程序设计 04. 执行结果 05. 附录 01. 概述 以前都用设计器设计界面,而这次我们用代码实现一个简单的查找对话框. ...

  4. 创建型模式—单例模式

    原文作者:C语言中文网 原文地址:单例模式(单例设计模式)详解 目录 1.单例模式的定义与特点 单例类对外提供一个访问该单例的全局访问点. 2.单例模式的优点和缺点 3.单例模式的应用场景 4.单例模 ...

  5. 设计模式----创建型设计模式(单例模式、工厂方法模式、构建者模式)

    创建型设计模式 单例模式(Singleton Pattern) 单例模式介绍 代码演示 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程安全, ...

  6. linux qt5.7下打地鼠源程序,QT实现简单打地鼠游戏

    本文实例为大家分享了QT实现简单打地鼠游戏的具体代码,供大家参考,具体内容如下 开发工具:VS2017,qt5.9.8 开发语言:c++ 实现功能: 有若干地鼠洞,每次出现一只地鼠,当击中地鼠后,分数 ...

  7. QT实现简单的塔防游戏

    QT实现简单的塔防游戏 该程序中实现了购买炮塔.炮塔升级.怪物按照设定路径移动.炮塔自动寻找范围内目标.朝目标怪物发射炮弹.爆炸效果.怪物走到家时我方生命值减少.方便添加关卡等功能. 另附重构版本代码 ...

  8. 直播电商软件开发,简单的单例模式

    直播电商软件开发,简单的单例模式相关的代码 public class Instance {private static Instance instance;private Instance() {}p ...

  9. 创建型模式-单例模式、工厂模式

    目录 创建型模式特点 创建型模式分类 1.单例模式(Singleton Pattern) 单例介绍 代码演示 ①饿汉式(静态常量) ②饿汉式(静态代码块) ③懒汉式(线程不安全) ④懒汉式(线程安全, ...

最新文章

  1. 前端开发之retina屏幕
  2. php 数据分别是怎么传的_四种php页面间传递数据方法
  3. 分布式与人工智能课程(part9)--Pandas绘图
  4. 阅读 LdrInitializeThunk
  5. Java笔记-JNI中Java与C语言解决中文乱码问题
  6. JavaScript设计模式返璞归真
  7. C语言-数据结构-可变长顺序表的初始化,插入和输出
  8. PHP-表单提交(form)
  9. 关于时间、日期的一些应用
  10. 如何配置mysql_怎样配置MySQL
  11. 泛微:移动办公专家 未来OA引爆京城
  12. 计算机工程师英语简历模板,计算机软件工程师英文简历模板
  13. 手动实现伽马校正(python)
  14. Unity【Face Cap】- 关于人脸捕捉的解决方案(二)
  15. 机器学习——多元线性回归模型
  16. 第四章——数据库安全性
  17. The BTest labyrinth
  18. 如何在CentOS 8上安装Docker
  19. 2021-07-24博物馆展览馆应用蓝牙AOA高精度定位导航导览的真实商用案例介绍
  20. 软件项目管理经验总结

热门文章

  1. 大数据时代下,App数据隐私安全你真的了解么?
  2. Apsara Stack 技术百科 | 边缘场景智能云化,让云无处不在
  3. 【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤
  4. SAE助力「海底小纵队学英语」全面拥抱Serverless,节省25%以上成本
  5. 性能诊断利器 JProfiler 快速入门和最佳实践
  6. 双11奇迹背后的大数据平台,不喧哗,自有声!
  7. 高性能开发,别点,发际线要紧!
  8. 2020 年最新版 68 道Redis面试题,20000 字干货,赶紧收藏起来备用!
  9. Spark精华问答 | 为什么选择Spark作为流计算引擎?
  10. 无服务器计算,如何节省时间和成本?