如果在没有move构造函数的情况下移动对象,会发生什么

What happens if you move an object without move constructor?

本文关键字:对象 什么 移动 情况下 move 构造函数 如果      更新时间:2023-10-16

如果在用户定义的对象上调用std::move(),而该对象没有定义移动构造函数,会发生什么?它只是复制的吗?

是的,移动将回退到复制。这就是像std::vector这样的标准容器可以在移动方面实现大小调整,但与只能复制的类保持兼容的方式。

但是,该类可能有一个隐式定义的移动构造函数——请参阅本指南。http://en.cppreference.com/w/cpp/language/move_constructor#Implicitly-declard_move_constructor

相关文章: