完美转发 - 这是什么一回事?

sma*_*llB 49 terminology perfect-forwarding c++11

可能重复:
使用forward的优点

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

J. *_*een 41

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

为什么这有用?嗯,这意味着函数模板可以将其参数传递给另一个函数,同时通过使用std :: forward保留函数参数的左值/右值.这称为"完美转发",避免过度复制,并避免模板作者必须为左值和右值引用写入多个重载.


Gre*_*osz 8

报价会议公告:完美转发的冒险:

完善转发是在rvalue引用之上构建的一种重要的C++ 0x技术.它允许自动应用移动语义,即使移动的源和目标通过中间函数调用分开.常见的例子包括构造函数和setter函数,它们将它们接收的参数转发给它们正在初始化或设置的类的数据成员,以及标准库函数,如make_shared,它将其参数"完美地转发"给任何对象的类构造函数.要创建的shared_ptr是指向.