在现代 C++ 中,完美转发(Perfect Forwarding) 是一个非常重要但又略显神秘的概念。它允许我们在模板函数中将参数“原封不动”地传递给另一个函数,保持其原始的值类别(左值/右值)、const 属性等信息不变。
完美转发是实现通用库函数、工厂模式、泛型封装器(如 std::function、lambda 表达式)以及智能指针构造函数的关键技术之一。
std::function
完美转发是指:在函数模板中,将一组参数以完全相同的方式(包括值类别、const 性质等)传递给另一个函数。
它的目标是: