加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:34:44 所属栏目:百科 来源:网络整理
导读:我看到一个成员获得参数所有权问题的两个合理的解决方案: Foo::Foo(std::unique_ptrint parameter): member(std::move(parameter)){}Bar::Bar(std::unique_ptrint parameter){ member.swap(parameter);} 哪一个更惯用,更容易理解,更容易调试,更容易维护等?
我看到一个成员获得参数所有权问题的两个合理的解决方案:
Foo::Foo(std::unique_ptr<int> parameter)
: member(std::move(parameter))
{
}

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

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

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

解决方法

总是喜欢初始化列表.另外,它涵盖了可以移动但不交换的类型,或者可能必须为默认构造执行昂贵操作的类型 – 或者实际上,不能默认构造的类型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读