Я вижу два разумных решения проблемы члена, который становится владельцем параметра:
Foo::Foo(std::unique_ptr<int> parameter)
: member(std::move(parameter))
{
}
Bar::Bar(std::unique_ptr<int> parameter)
{
member.swap(parameter);
}
Что из этого более идиоматично, проще для понимания, проще в отладке, проще в обслуживании и т. д.?
Есть ли дополнительные решения проблемы, которую я пропустил?