template <typename T>
struct Singleton
{
struct object_creator
{
object_creator()
{
Singleton<T>::instance();
}
inline void do_nothing()const {}
};
static object_creator create_object;
public:
typedef T object_type;
static object_type& instance()
{
static object_type obj;
create_object.do_nothing();
return obj;
}
};
template <typename T>
typename Singleton<T>::object_creator Singleton<T>::create_object;
Boost库中的线程安全模板单例的实现
最新推荐文章于 2023-07-18 16:09:29 发布