邰怀卉 发表于 2025-9-16 20:52:57

C++ 单例 Meyers' Singleton(迈耶斯单例)

Meyers' Singleton(迈耶斯单例)是 C++ 中实现单例模式的一种简洁高效的方法,由 C++ 专家 Scott Meyers 提出。其核心原理是利用局部静态变量的初始化特性保证单例的唯一性和线程安全性(C++11 及以后标准)。
1、核心原理


[*]局部静态变量的初始化特性
在 C++ 中,函数内的局部静态变量会在第一次调用该函数时初始化,且仅初始化一次。Meyers' Singleton 正是利用这一特性,将单例实例定义为静态成员函数中的局部静态变量,确保实例只被创建一次。
[*]线程安全性(C++11 及以后)
C++11 标准规定:局部静态变量的初始化是线程安全的,即多个线程同时首次调用函数时,初始化操作会被正确序列化(只有一个线程执行初始化,其他线程等待),无需额外的同步机制。
2、实现代码

#include class Singleton {private:    // 1. 私有构造函数:禁止类外创建对象    Singleton() {      std::cout

缍米 发表于 2025-12-1 11:03:24

感谢发布原创作品,程序园因你更精彩

狭踝仇 发表于 2025-12-6 08:43:57

感谢分享,学习下。

宗和玉 发表于 2025-12-12 16:38:33

感谢,下载保存了

髭赌 发表于 2025-12-24 13:07:32

谢谢楼主提供!

圣罩 发表于 2026-1-5 19:36:18

热心回复!

老僻贞 发表于 2026-1-20 14:06:56

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

伯绮梦 发表于 2026-1-21 17:09:48

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

崔和美 发表于 2026-1-22 14:10:22

谢谢分享,试用一下

晦险忿 发表于 2026-1-23 14:37:49

谢谢分享,辛苦了

方子楠 发表于 2026-1-24 04:35:58

懂技术并乐意极积无私分享的人越来越少。珍惜

凶契帽 发表于 2026-1-28 06:00:22

谢谢楼主提供!

缄戈 发表于 2026-2-2 03:54:09

过来提前占个楼

俏挺喳 发表于 2026-2-4 07:36:21

这个好,看起来很实用

挡缭 发表于 2026-2-5 08:12:13

感谢分享

盛天欣 发表于 2026-2-5 11:14:27

这个有用。

少屠 发表于 2026-2-6 04:46:56

感谢发布原创作品,程序园因你更精彩

少琼 发表于 2026-2-6 09:05:09

热心回复!

褐洌 发表于 2026-2-8 00:22:08

感谢发布原创作品,程序园因你更精彩

颜清华 发表于 2026-2-8 22:36:01

热心回复!
页: [1] 2
查看完整版本: C++ 单例 Meyers' Singleton(迈耶斯单例)