DC娱乐网

std::move到底有没有真的移动对象 很多人第一次学 std::move,都

std::move到底有没有真的移动对象
很多人第一次学 std::move,都会下意识以为它真的“把对象搬走了”。但其实 std::move 本身并不移动任何东西,它只是做了一次类型转换,把一个对象转换成右值引用,让后续的移动构造或移动赋值有机会被调用。真正发生资源转移的,是类里面实现的移动语义,比如把指针、缓冲区、句柄等资源交给新对象。理解这一点后,就不会再把 std::move 当成魔法,而会把它看成一个“允许移动”的信号。C++stdmove右值引用移动语义拷贝构造性能优化 howto入门codex 编程 cpp编程