【发布时间】:2020-12-13 14:47:01
【问题描述】:
我正在阅读有关通用参考/转发参考和this link says 的内容:
这里的param 是通用参考:
template<typename T>
void f(T&& param);
但是这里param不是一个通用引用,它是一个右值引用:
template<typename T>
void f(const T&& param);
通用引用的定义如下:
如果一个变量或参数被声明为 T&& 对于某个推导出的类型 T,则该变量或参数是一个通用引用。
我读到 T 是一个推导类型,因为 Template argument deduction。
为什么第二种情况不是通用参考?出于某种原因,const T&& param 的存在是否不遵循模板参数推导?如果有,为什么?
【问题讨论】:
标签: c++ c++11 language-lawyer