一个基于宏模板的C单例实现

本文所述的C++单例实现,基于宏模板,是线程安全的;它是笔者的能力集成与应用平台(CIAP)中的一个小组件。

一、单例的实现

1.用到的智能指针和递归锁,可以选择C++11(或更高标准)STL的或boost的。

用到shared_ptr和递归锁

2.DECLARE_SINGLETON_OF_CLASS宏。

DECLARE_SINGLETON_OF_CLASS

3.IMPLEMENT_SINGLETON_OF_CLASS宏。

IMPLEMENT_SINGLETON_OF_CLASS

二、用法举例

1.声明单类

提供单例的类,通常是noncopyable,且声明构造器为protected。

声明类

2.实现单类

实现类

3.使用单例

test_1和test_2分别示意了在单线程和多线程中使用单例。

错漏和不足难免,欢迎您指正和拍砖。感谢您的收藏、转发和


转载请注明:http://www.aierlanlan.com/rzgz/4263.html