V2EX  ›  英汉词典

Perfect Forwarding

释义 Definition

完美转发:在 C++(尤其是 C++11 及以后)中,指模板函数在将参数传递给另一个函数时,既不改变参数的值类别(左值/右值),也尽量保持其类型特征(如 const 等),从而避免不必要的拷贝,并正确选择重载。常见做法是使用转发引用(T&&配合 **std::forward<T>(arg)**。

发音 Pronunciation (IPA)

/ˈpɜːrfɪkt ˈfɔːrwərdɪŋ/

例句 Examples

We use perfect forwarding to pass arguments to another function efficiently.
我们使用完美转发把参数高效地传给另一个函数。

By combining a forwarding reference with std::forward, the wrapper preserves whether the caller passed an lvalue or an rvalue, enabling the correct overload and avoiding extra copies.
通过将转发引用与 std::forward 结合,包装函数能保留调用者传入的是左值还是右值,从而选择正确的重载并避免额外拷贝。

词源 Etymology

该术语由两部分构成:perfect(完美的)强调“尽可能不损失信息、原样保留语义”,forwarding(转发)来自“把参数继续传递下去”。在 C++11 引入右值引用与移动语义后,“完美转发”成为描述这类“既转发又不改变参数性质”的惯用说法,常与 std::forward 的命名相呼应。

相关词 Related Words

文献与作品 Literary Works

  • *Effective Modern C++*(Scott Meyers)——在讲解 std::forward、转发引用与“完美转发”用法时高频出现。
  • C++ Templates: The Complete Guide(David Vandevoorde, Nicolai M. Josuttis 等)——讨论模板参数推导、引用折叠与转发相关机制时会使用该术语。
  • The C++ Programming Language(Bjarne Stroustrup)——在介绍现代 C++ 的移动语义、泛型编程与参数传递策略时涉及相关概念与表述。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   685 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 20:31 · PVG 04:31 · LAX 12:31 · JFK 15:31
♥ Do have faith in what you're doing.