mirror of
https://github.com/CnTransGroup/EffectiveModernCppChinese.git
synced 2025-03-24 08:10:19 +08:00
Update item24.md
翻译错误
This commit is contained in:
parent
5719c9b853
commit
a0f7cdcafc
@ -20,7 +20,7 @@ void f(T&& param); //不是右值引用
|
||||
|
||||
`T&&`的第二层意思,是它既可以是一个右值引用,也可以是一个左值引用。这种引用在源码里看起来像右值引用(也即`T&&`),但是它们可以表现得它们**像是**左值引用(也即`T&`)。它们的二重性(dual nature)使它们既可以绑定到右值上(就像右值引用),也可以绑定到左值上(就像左值引用)。 此外,它们还可以绑定到常量(const)和非常量(non-const)的对象上,也可以绑定到`volatile`和`non-volatile`的对象上,甚至可以绑定到即`const`又`volatile`的对象上。它们可以绑定到几乎任何东西。这种空前灵活的引用值得拥有自己的名字。我把它叫做**通用引用**(universal references)。(注: Item 25解释了`std::forward`几乎总是可以应用到通用引用上,并且在这本书即将出版之际,一些C++社区的成员已经开始将这种通用引用称之为**转发引用**(forwarding references))。
|
||||
|
||||
在两种情况下会出现通用引用。最常见的一种是模板函数参数,正如在之前的示例代码中所出现的例子:
|
||||
在两种情况下会出现通用引用。最常见的一种是函数模板参数,正如在之前的示例代码中所出现的例子:
|
||||
|
||||
```cpp
|
||||
template <typename T>
|
||||
|
Loading…
Reference in New Issue
Block a user