std::forward 函数模板返回 T&&。因此,为了将其参数作为左值引用或右值引用转发,std::forward 的返回类型必须是:
T&& if T is a non-reference type (T && == T&&)
T& if T is an lvalue reference type (T& && == T&)
我的意思是 std::forward 的返回类型是否由于引用折叠规则而改变或者解释不同?
std::forward 的返回类型是转发(通用)引用吗?
最佳答案
答案是肯定的。引用折叠规则,如[dec.ref]/6中所述,不要区分变量的类型、函数参数的类型或函数的返回类型。
关于c++11 - 引用折叠规则是否适用于返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57420581/