如果移动没有移动构造函数的对象会发生什么?

时间:2013-12-10 22:00:17

标签: c++ move move-constructor

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

1 个答案:

答案 0 :(得分:3)

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

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