forward调用的也是static_cast,两个函数实现实际是一样的,都是包装了static_cast类型转换而已 完美转发主要是使用的一个称之为引用折叠的一个规则。 /*   template<typename _Tp>     constexpr _Tp&&     forward(typename std::remove_reference<_Tp>::type& __t) noexcept     { return static_cast<_Tp&&>(__t); }  template<typename _Tp>     constexpr typename std::remove_reference<_Tp>::type&&     move(_Tp&& __t) noexcept     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); } */