[1] std::move
在 C++11 中, 标准库在 < utility > 中提供了一个有用的函数 std::move.
这个函数的名字很具有迷惑性, 因为实际上 std::move 并不能移动任何东西, 它唯一的功能: 将一个左值强制转化为右值引用, 继而可以通过右值引用使用该值, 以用于移动语义.
从实现上讲, std::move 基本等同于一个类型转换:
static_cast<T&&>(lvalue);
值得一提的是, 被转化的左值, 其生命期并没有随着左右值的转化而改变.
来源: http://www.bubuko.com/infodetail-3395556.html