首先看一下这个函数的定义:
template <class T>
std::remove_reference<T>::type&& move(T && param)
{
return static_cast<std::remove_reference_t<T>::type&&>(param)
}
这个函数的参数是T&&类型。 这样做可以实现同时接受左值和右值。
函数的返回值是T对于类型的右值引用类型。
使用这个函数的目的是把参数转换成右值引用,从而为后面除法移动语义和移动构造函数做准备。