V2EX  ›  英汉词典

Forwarding Reference

定义 Definition

forwarding reference(转发引用/完美转发引用):C++(自 C++11 起)中的一种特殊形态的函数模板参数类型,典型写法为 T&&(其中 T 为模板参数)。它能够在类型推导时根据实参的左值/右值属性发生“折叠”(reference collapsing),从而在函数内部用 std::forward<T>(arg) 将实参以原本的值类别(lvalue/rvalue)转发出去。
注:它常被称为 universal reference,但更正式、常用的术语是 forwarding reference

发音 Pronunciation (IPA)

/ˈfɔːrwərdɪŋ ˈrɛfərəns/

例句 Examples

A forwarding reference can bind to both lvalues and rvalues.
转发引用既可以绑定左值,也可以绑定右值。

In a template function, T&& is a forwarding reference only when T is deduced, enabling perfect forwarding with std::forward.
在模板函数中,只有当 T 参与类型推导时,T&& 才是转发引用,从而可以用 std::forward 实现完美转发。

词源 Etymology

forwarding 来自动词 forward(“转交、转发、推进”),表示把参数“原样传递下去”;reference 是“引用”。该术语在 C++11 引入右值引用(rvalue reference)与引用折叠规则后流行起来,用来强调这种引用的核心用途:把实参的值类别“转发”给另一个调用点。

相关词 Related Words

文学与名著用例 Literary Works

  • *Effective Modern C++*(Scott Meyers)——专门讨论 universal/forwarding referencesstd::forward 与完美转发的条件与陷阱。
  • *The C++ Programming Language (4th Edition)*(Bjarne Stroustrup)——在介绍右值引用、模板与转发相关章节中涉及该概念。
  • *C++ Templates: The Complete Guide (2nd Edition)*(David Vandevoorde, Nicolai Josuttis, Douglas Gregor)——详细讲解模板类型推导、引用折叠与转发引用的语义。
  • ISO C++ Standard(如 C++11 及后续标准草案/正文)——以规范性语言描述引用折叠与转发行为(术语与表述可能以标准措辞呈现)。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1976 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 12:10 · PVG 20:10 · LAX 04:10 · JFK 07:10
♥ Do have faith in what you're doing.