智能唯一指针作为成员变量

时间:2014-09-10 14:46:12

标签: c++ smart-pointers

我有一个班级:

class LargeObject
{
  public:
    LargeObject();
    void DoSomething();
  private:
    std::unique_ptr<Thing> pThing;
};

然后当我想在构造函数

中创建指针时
LargeObject()
{
  pThing(new Thing()); //This does not work.
}

我想在整个代码中使用成员变量。怎么做?

1 个答案:

答案 0 :(得分:1)

我认为初始化应该在构造函数的初始化列表中,这是应该从另一个构造函数调用构造函数的地方:

LargeObject()
:pThing(new Thing){}