我正在尝试为我的类添加一种延迟初始化的函数。我对C++并不是很熟悉。能否有人告诉我如何实现它。
我的类有一个私有成员定义为:
std::unique_ptr<Animal> animal;
这是接受一个参数的原始构造函数:
MyClass::MyClass(string file) :
animal(new Animal(file))
{}
我刚刚添加了一个无参构造函数和一个Init()函数。这是我刚刚添加的Init()函数:
void MyClass::Init(string file)
{
this->animal = ???;
}
我需要写什么来使它等同于构造函数所做的事情?
std::make_unique<Animal>(file)
。 - πάντα ῥεῖ???
,你可以使用std::make_unique<Animal>(file)
。 - David Schwartz