本文所述的C++单例实现,基于宏模板,是线程安全的;它是笔者的能力集成与应用平台(CIAP)中的一个小组件。
一、单例的实现
1.用到的智能指针和递归锁,可以选择C++11(或更高标准)STL的或boost的。
用到shared_ptr和递归锁2.DECLARE_SINGLETON_OF_CLASS宏。
DECLARE_SINGLETON_OF_CLASS3.IMPLEMENT_SINGLETON_OF_CLASS宏。
IMPLEMENT_SINGLETON_OF_CLASS二、用法举例
1.声明单类
提供单例的类,通常是noncopyable,且声明构造器为protected。
声明类2.实现单类
实现类3.使用单例
test_1和test_2分别示意了在单线程和多线程中使用单例。
错漏和不足难免,欢迎您指正和拍砖。感谢您的收藏、转发和