forward 使用 func(int &&a) { f2(a);//此时a是左值,调用的是f2的左值引用重载。 f2(forward<int>(a));//此时调用的是f2的右值引用重载。 } forward是解决函数中右值引用参数因为有了名字变成左值的情况。forward<T>是完美转发,它返回的是参数原来的类型。