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

Smart unique pointer as a member variable

本文关键字:智能 唯一 指针 变量 成员      更新时间:2023-10-16

我有一个类:

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

然后当我想在构造函数中创建指针时

LargeObject()
{
  pThing(new Thing()); //This does not work.
}

我想在整个代码中使用成员变量。如何做到这一点?

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

LargeObject()
:pThing(new Thing){}