十分钟学会一个设计模式---创建模式---单例模式(最佳实践)

65 阅读1分钟
  1. Meyers’ singleton C++11及之后的最佳实践
  2. 静态局部变量确保只有一个实例,将拷贝构造函数和赋值运算符进行删除避免调用
  3. 静态局部变量初始化线程安全,并且为懒汉式
class Singleton {
public:
    static Singleton& getInstance() {
        static Singleton instance;
        return instance;
    }

    Singleton(const Singleton&) = delete;
    Singleton& operator=(const Singleton&) = delete;

private:
    Singleton() = default;
    ~Singleton() = default;
};

int main() {
    Singleton& instance = Singleton::getInstance();
}