如果在用户定义的对象上调用std::move()
,并且没有定义移动构造函数,会发生什么?它只是被复制了吗?
答案 0 :(得分:3)
是的,移动将回复复制。这就像std :: vector这样的标准容器可以在移动方面实现大小调整,但仍然只能与只能复制的类兼容。
但是,该类可能具有隐式定义的移动构造函数 - 请参阅此指南。 http://en.cppreference.com/w/cpp/language/move_constructor#Implicitly-declared_move_constructor