【问题标题】:Perfect forwarding - what's it all about? [duplicate]完美的转发 - 这是怎么回事? [复制]
【发布时间】:2011-10-13 08:12:17
【问题描述】:

可能重复:
Advantages of using forward

有人可以向我解释一下完美转发是什么意思吗?

【问题讨论】:

    标签: c++11 terminology perfect-forwarding


    【解决方案1】:

    http://www.justsoftwaresolutions.co.uk/cplusplus/rvalue_references_and_perfect_forwarding.html

    为什么这很有用?好吧,这意味着函数模板可以将其参数传递给另一个函数,同时通过使用 std::forward 保留函数参数的左值/右值性质。这称为“完美转发”,避免过度复制,避免模板作者为左值和右值引用编写多个重载。

    【讨论】:

      【解决方案2】:

      引用Session Announcement: Adventures in Perfect Forwarding:

      完美转发是建立在 C++0x 之上的一项重要技术 右值引用。它允许自动移动语义 应用,即使移动的源和目标是 由干预函数调用分隔。常见的例子包括 转发他们收到的参数的构造函数和设置函数 到他们正在初始化或设置的类的数据成员,如 以及像 make_shared 这样的标准库函数, 将其参数“完美转发”给任何类的构造函数 要创建的 shared_ptr 指向的对象。

      【讨论】:

      猜你喜欢
      • 2021-04-13
      • 2016-03-25
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 2011-07-06
      • 2016-07-03
      相关资源
      最近更新 更多