源自Boost最优雅的C++单例模式

源自Boost最优雅的C++单例模式


一、Boost Thread库

Boost功能非常强大,在此借鉴一下其线程库中的单例源码,线程安全且优雅。


二、singleton.hpp

cpp 复制代码
#pragma once

template<class T>
class singleton: private T
{
public:
	static T& instance()
	{
		static singleton<T> inst;
		return inst;
	}
};

#define INSTANCE(class_name)	singleton<class_name>::instance()

三、测试示例

cpp 复制代码
#include "singleton.hpp"
#include <stdio.h>

class Demo
{
public:
	void test() { printf("test\n");}
};

int main() 
{
	INSTANCE(Demo).test();
	return 0;
}

四、参考链接

include/boost/thread/detail/singleton.hpp

相关推荐
梦想的旅途22 分钟前
企业微信 API 触达外部群的深度实践(Java/Go/Python)
开发语言·python
Pcr_C8 分钟前
Qt事件循环深度解析与实战指南
开发语言·c++·qt·开源
Fate_I_C8 分钟前
Kotlin 中 `@JvmField` 注解的使用
android·开发语言·kotlin
大大祥9 分钟前
一个kotlin实现的视频播放器
android·开发语言·kotlin·音视频
汉克老师9 分钟前
GESP2025年12月认证C++一级真题与解析(编程题2(手机电量显示))
c++·while循环·多分支结构
唐古乌梁海14 分钟前
【pytest】pytest详解-入门到精通
开发语言·python·pytest
爱上妖精的尾巴18 分钟前
7-1 WPS JS宏 Object对象创建的几种方法
开发语言·前端·javascript
ZePingPingZe22 分钟前
静态代理、JDK和Cglib动态代理、回调
java·开发语言
2501_9216494924 分钟前
iTick 全球外汇、股票、期货、基金实时行情 API 接口文档详解
开发语言·python·websocket·金融·restful
闻缺陷则喜何志丹24 分钟前
计算几何汇总
c++·数学·计算几何·凸多边形·简单多边形