C++11 完美转发(Perfect Forwarding)

在现代 C++ 中,完美转发(Perfect Forwarding) 是一个非常重要但又略显神秘的概念。它允许我们在模板函数中将参数“原封不动”地传递给另一个函数,保持其原始的值类别(左值/右值)、const 属性等信息不变。

完美转发是实现通用库函数、工厂模式、泛型封装器(如 std::function、lambda 表达式)以及智能指针构造函数的关键技术之一。

C++11 完美转发(Perfect Forwarding)_第1张图片

一、什么是完美转发?

✅ 定义

完美转发是指:在函数模板中,将一组参数以完全相同的方式(包括值类别、const 性质等)传递给另一个函数。

它的目标是:

  • 如果传入的是左值,就转发为左值;
  • 如果传入的是右值,就转发为右值;
  • 如果传入的是 const 左值,就转发为 const 左值;
  • ……
<

你可能感兴趣的:(C++高手修炼营,C/C++网络编程专题,C/C++多线程编程专题,c++,开发语言,froward)