1
6
当模板参数类型包含值类别时,可以实现完美转发。(如果这句话没意思,花点时间 familiarize yourself with the problem at hand .) 给定:
体内
将左值传递给
如果您不能区分一个值类别,那么转发就没有用了。只有当您有一个以与上面相同的方式推导的模板参数时,它才有用。所以,是的,它在这里没有用:
|
2
3
我正在回答我自己的问题,因为到目前为止我还没有得到满意的答案。 如果我能得到哪怕是一点小小的改进/补充,我会选择你的答案作为接受。
一般来说
使用
|
3
-1
使用std::forward(对模板化函数的形式参数,其类型为T&&,T是模板的类型参数):
其原理是,当一个对象可能被右值引用作为参数传递时(这是您使用std::forward所允许的),它的信息内容可能会被破坏。所以,只有当你确信自己不再使用这些信息内容时,你才想这样做。 示例:
|
apetrai · 我应该如何假设算法使用哪种迭代器类别? 2 年前 |
ridiculous_fish · std::是否保证短路? 2 年前 |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
johnco3 · 初始化固定C数组成员结构 6 年前 |
mans · 为什么出现此错误:constexpr在此处无效 6 年前 |
juztcode · 在C++中尝试捕获-创建了多少个对象 6 年前 |
Steven Scott · 忽略元素的基于范围的for循环 6 年前 |