仁夹篇 发表于 2025-6-9 09:00:54

设计模式学习(一)单例模式的几种实现方式

目录

[*]前言
[*]饿汉式
[*]懒汉式
[*]懒汉式DCLP
[*]局部静态式(Meyers' Singleton)
[*]单例模板
[*]参考文章

前言

单例模式,其核心目标是确保在程序运行的过程中,有且只有存在一个实例才能保证他们的逻辑正确性以及良好的效率。因此单例模式的实现思路就是确保一个类有且只有一个实例,并提供一个该实例的全局访问点。
单例模式设计要点:

[*]私有构造、析构
[*]禁止赋值、拷贝
[*]静态私有成员:全局唯一实例
[*]提供一个用于获取全局唯一实例的接口,若实例不存在则创建。
除了上面提到的四点还要注意线程安全以及资源释放的问题。
本文从最基本的懒汉式和饿汉式单例模式开始,循序渐进地讨论单例模式形式的特点及变化过程
饿汉式

饿汉式单例模式的核心思路就是不管需不需要用到实例都要去创建实例。饿汉模式的实例在类产生时候就创建了,它的生存周期和程序一样长。
对于饿汉模式而言,是线程安全的,因为在线程创建之前唯一的实例已经被创建好了。而且在程序的退出阶段,类内唯一实例instance也会被销毁,~CSingleton会被调用,资源可以正常被释放。
//无延迟初始化//多线程安全,资源自动释放class CSingleton{public:    static CSingleton* getInstance();private:    CSingleton(){std::cout

坐褐 发表于 2025-11-3 01:59:06

东西不错很实用谢谢分享

官厌 发表于 2025-11-29 17:47:18

过来提前占个楼

彭水晶 发表于 2025-12-2 00:43:23

感谢分享,下载保存了,貌似很强大

梢疠 发表于 2025-12-14 07:13:28

用心讨论,共获提升!

廖彗云 发表于 2026-1-2 22:46:26

用心讨论,共获提升!

阎逼 发表于 2026-1-12 22:52:15

感谢分享,学习下。

杠氯 发表于 2026-1-14 19:33:27

谢谢分享,辛苦了

窝酴 发表于 2026-1-18 00:21:45

鼓励转贴优秀软件安全工具和文档!

咸和璧 发表于 2026-1-18 04:21:08

这个好,看起来很实用

僚娥 发表于 2026-1-18 12:51:40

感谢,下载保存了

诸婉丽 发表于 2026-1-23 09:21:13

yyds。多谢分享

艺轫 发表于 2026-1-25 09:32:18

用心讨论,共获提升!

琶轮 发表于 2026-1-26 02:00:31

收藏一下   不知道什么时候能用到

骆熙华 发表于 2026-1-26 04:20:05

用心讨论,共获提升!

些耨努 发表于 2026-1-26 21:13:44

谢谢分享,试用一下

讹过畔 发表于 2026-2-2 02:59:15

喜欢鼓捣这些软件,现在用得少,谢谢分享!

染罕习 发表于 2026-2-6 17:56:57

很好很强大我过来先占个楼 待编辑

柴古香 发表于 2026-2-8 05:58:07

鼓励转贴优秀软件安全工具和文档!

娥搽裙 发表于 2026-2-10 10:57:30

谢谢楼主提供!
页: [1] 2
查看完整版本: 设计模式学习(一)单例模式的几种实现方式