std::move() 是C++11的新特性,作用是 将参数转换成右值, 相当于一个类型转换 static_cast<T&&>(value)
对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝;可以避免不必要的内存拷贝
使用move()后原参数的的值为空
函数原型
template <typename T>
typename remove_reference<T>::type&& move(T&& t)
{
return static_cast<typename remove_reference<T>::type&&>(t);
}