элемент, принимающий во владение параметр

Я вижу два разумных решения проблемы члена, который становится владельцем параметра:

Foo::Foo(std::unique_ptr<int> parameter)
: member(std::move(parameter))
{
}

Bar::Bar(std::unique_ptr<int> parameter)
{
    member.swap(parameter);
}

Что из этого более идиоматично, проще для понимания, проще в отладке, проще в обслуживании и т. д.?

Есть ли дополнительные решения проблемы, которую я пропустил?

6
задан fredoverflow 9 July 2012 в 13:48
поделиться