Contents

C++11 之后的单例模式实现

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

C++ 11 之后的单例模式实现

简介

单例模式的特点

  1. 类构造器私有
  2. 持有自己类的引用
  3. 对外提供获取实例的静态方法
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class NonCopyable
{
   protected:
       NonCopyable() = default; // available
    ~NonCopyable() = default; // available
    NonCopyable(NonCopyable &&) = delete;                 // Move construct deleted
    NonCopyable(const NonCopyable &) = delete;            // Copy construct deleted
    NonCopyable &operator=(const NonCopyable &) = delete; // Copy assign deleted
    NonCopyable &operator=(NonCopyable &&) = delete;      // Move assign deleted
};