Учитывая общую ситуацию, когда срок службы принадлежащего ему объекта связан с его владельцем, я могу использовать уникальный указатель одним из двух способов.,
Он может быть назначен:
class owner
{
std::unique_ptr<someObject> owned;
public:
owner()
{
owned=std::unique_ptr<someObject>(new someObject());
}
};
Можно использовать метод reset:
class owner
{
std::unique_ptr<someObject> owned;
public:
owner()
{
owned.reset(new someObject());
}
};
В интересах лучшей практики я должен предпочесть одну форму над другой?
РЕДАКТИРОВАТЬ: Извините. Я более упростил это. Распределение кучи происходит в инициализационном методе, а не в ctor. Поэтому я не могу использовать списки инициализаторов.