c – 获得参数所有权的成员

前端之家收集整理的这篇文章主要介绍了c – 获得参数所有权的成员前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看到一个成员获得参数所有权问题的两个合理的解决方案:
Foo::Foo(std::unique_ptr<int> parameter)
: member(std::move(parameter))
{
}

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

哪一个更惯用,更容易理解,更容易调试,更容易维护等?

我错过了这个问题的其他解决方案吗?

解决方法

总是喜欢初始化列表.另外,它涵盖了可以移动但不交换的类型,或者可能必须为默认构造执行昂贵操作的类型 – 或者实际上,不能默认构造的类型.
原文链接:https://www.f2er.com/c/111072.html

猜你在找的C&C++相关文章