• 私有化构造函数、删除拷贝与赋值:防止外部创建和复制实例

  • 静态成员变量:保存唯一实例

  • 静态方法提供访问:获取唯一实例

class Game
{  
  private:
    Game(){}
    Game(const Game&) = delete;
    Game& operator=(const Game&) = delete;
  public:
    static Game& GetInstance()
    {
      static Game instance;
      return instance;
    }
}

最讨厌你,也最喜欢你