#pragma once #include #include /** * 基础错误类 */ namespace ylib { // 单例基类模板 template class singleton { public: // 获取单例对象的静态方法 static T* getInstance() { static T instance; // C++11以后,局部静态变量的初始化是线程安全的 return &instance; } protected: // 禁止拷贝构造函数和拷贝赋值操作 //singleton(const singleton&) = delete; //singleton& operator=(const singleton&) = delete; // 允许析构 //virtual ~singleton() = default; }; }