如何实例化单例

时间:2014-11-17 05:40:47

标签: c++ oop

我希望在我的程序中有一个类C的实例,我按如下方式定义了一个单例方法get_instance

class C {
    static map<int, map<int, int> > t;
  public:
    static C& get_instance() {
        static C instance;
        return instance;
    }
  private:
    C() {};
};

我尝试使用这种方法获得距离。

static C& rt = C.get_instance();

然而,我收到错误

src/C.cpp:115:41: error: expected primary-expression before ‘.’ token
 static C& rt = C.get_instance();

我做错了吗?

Singleton设计来自C++ Singleton design pattern

1 个答案:

答案 0 :(得分:4)

你应该写C::get_instance()