mirror of
https://github.com/CnTransGroup/EffectiveModernCppChinese.git
synced 2025-01-25 03:10:46 +08:00
Update item33.md
This commit is contained in:
parent
6d82b02e8c
commit
e43c78d16c
@ -56,7 +56,7 @@ Widget&& forward(Widget& param) //当T是Widget时的std::forward实
|
||||
}
|
||||
```
|
||||
|
||||
思考一下如果用户代码想要完美转发一个`Widget`类型的右值,但没有遵守规则将`T`指定为非引用类型,而是将`T`指定为右值引用,这会发生什么。也就是,思考将`T`换成`Widget`会如何。在`std::forward`实例化、应用了`std::remove_reference_t`后,引用折叠之前,`std::forward`看起来像这样:
|
||||
思考一下如果用户代码想要完美转发一个`Widget`类型的右值,但没有遵守规则将`T`指定为非引用类型,而是将`T`指定为右值引用,这会发生什么。也就是,思考将`T`换成`Widget&&`会如何。在`std::forward`实例化、应用了`std::remove_reference_t`后,引用折叠之前,`std::forward`看起来像这样:
|
||||
|
||||
```c++
|
||||
Widget&& && forward(Widget& param) //当T是Widget&&时的std::forward实例
|
||||
|
Loading…
Reference in New Issue
Block a user