【发布时间】:2013-01-22 20:41:42
【问题描述】:
函数std::move()定义为
template<typename T>
typename std::remove_reference<T>::type&& move(T && t)
{
return static_cast<typename std::remove_reference<T>::type&&>( t );
}
我可以想象要调用移动构造函数的四个地方:
- 参数传递时。
- 执行转换时。
- 返回结果时。
- 不在
std::move()函数本身,但可能在返回的引用最终到达的地方。
我会赌 4 号,但我不能 100% 确定,所以请解释一下你的答案。
【问题讨论】:
标签: c++ c++11 move-semantics rvalue-reference