Vedo due soluzioni ragionevoli al problema di un membro di prendere possesso di un parametro:membro di prendere la proprietà del parametro
Foo::Foo(std::unique_ptr<int> parameter)
: member(std::move(parameter))
{
}
Bar::Bar(std::unique_ptr<int> parameter)
{
member.swap(parameter);
}
Quale di questi è più idiomatica, più facile da capire, facile da eseguire il debug, più facile da mantenere eccetera.?
Esistono soluzioni aggiuntive al problema che ho perso?