c++11x新特性:右值引用之完美转发,万能引用,引用折叠
无论调用 function() 函数模板时传递给参数 t 的是左值还是右值,对于函数内部的参数 t 来说,它有自己的名称,也可以获取它的存储地址,因此它永远都是左值,也就是说,传递给 otherdef() 函数的参数 t 永远都是左值。C++ 11标准为了更好地实现完美转发,特意为其指定了新的类型匹配规则,又称为引用折叠规则(假设用 A 表示实际传递参数的类型): 当实参为左值或者左值引用(A&)时,函数模板中 T&& 将转变为 A&(A& && = A&);//实现完美转发的函数模板。
原创
2023-03-22 12:29:51 ·
145 阅读 ·
0 评论