摘要:
c++ forward关键字 forward的由来:保持住参数的右值属性。 模板函数中的推导类型,作为另一函数的参数时,不管实参是什么类型,作为另一个参数的实参时,都变成了左值。因为C++里规定函数的形参就是左值,不管调用侧的实参是否是右值。所以,调用的另一个函数的形参即使用T&& arg来声明,传 阅读全文
摘要:
模板类型的推断 下面的函数f是个模板函数,typename T。下表是,根据调用测的实参,推断出来的T的类型。 请注意下表的红字部分, f(T&& t)看起来是右值引用,但其实它会根据实参的类型,来决定T的类型,如果实参是左值,则它是左值,如果实参是右值,则它是右值。 所以可以看出来,T&可以变成c 阅读全文