【发布时间】:2016-12-13 09:16:37
【问题描述】:
我一直在阅读 Scott 关于 c++11 和 14 的最后一篇杰作中的通用引用,尽管有一个参数分配给左值或右值类型引用参数,但在两者之间有一些称为通用引用的东西可以根据传递的参数的类型特征推断为左/右值。我可以理解是什么使参数成为通用引用,但我不清楚的一件事是为什么将 const 添加到类型参数const T&& p 使 p 成为右值:
template<typename T>
void f(T&& param); // param is an universal reference
template<typename T>
void f(const T&& param); // param is an rvalue reference
const 分配给引用参数时是否比这更多?
【问题讨论】:
标签: c++ templates c++11 c++14 forwarding-reference