Forwarding References
3.72 MB
107 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档讨论了C++中的转发引用(forwarding references),它们与const lvalue引用的不同之处在于性能开销可能更高。转发引用能够保留函数参数的值类别(value category),这对于通过std::forward实现完美转发至关重要。文档详细说明了转发引用的实现,包括lvalue、xvalue、prvalue等类型的行为,以及在不同情况下的绑定规则。此外,还涉及了在泛型代码中处理多个函数参数时的开销问题,并提供了代码示例进行说明。 | ||
AI总结 | ||
以下是文档内容的简要总结:
### 转发引用(Forwarding References)
1. **定义与特性**:
- 转发引用和常量左值引用都可以绑定到任何类型,但前者可能更耗费资源。
- 转发引用可以保留函数参数的值类别,从而通过 `std::forward` 实现完美转发。
2. **值类别**:
- 值类别决定了对象、位域或函数的身份。
- 包括左值(lvalue)、右值(rvalue)、imsured临时量(prvalue)等。
- 广义左值(generalized lvalues)可以与右值引用绑定。
3. **完美转发**:
- 通过转发引用,函数参数的值类别可以被保留,并通过 `std::forward` 传递到其他函数。
- 例子:使用 `std::forward |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
95 页请下载阅读 -
文档评分