C++ 智能唯一指针作为成员变量
我的课程是:C++ 智能唯一指针作为成员变量,c++,smart-pointers,C++,Smart Pointers,我的课程是: class LargeObject { public: LargeObject(); void DoSomething(); private: std::unique_ptr<Thing> pThing; }; 我想在整个代码中使用成员变量。如何做到这一点?我认为初始化应该在构造函数的初始化列表中,也就是从另一个构造函数调用构造函数的地方: LargeObject() :pThing(new Thing){} 如果pThing是一个i
class LargeObject
{
public:
LargeObject();
void DoSomething();
private:
std::unique_ptr<Thing> pThing;
};
我想在整个代码中使用成员变量。如何做到这一点?我认为初始化应该在构造函数的初始化列表中,也就是从另一个构造函数调用构造函数的地方:
LargeObject()
:pThing(new Thing){}
如果
pThing
是一个int
,您将如何初始化它?先试试这个。成功后,请尝试unique\u ptr
。尽管链接的重复问题涉及shared\u ptr
s,但可以使用构造函数初始化列表从指向对象的指针初始化unique\u ptr
。其他成员变量也可以在初始化列表中进行初始化,请参见和。好的,这似乎是一种方法。我会试试看。TnxIt可以在这里和其他地方像普通指针一样使用“新的”。
LargeObject()
:pThing(new Thing){}