首页 > 解决方案 > 在 std::move() 之后 std::vector 存储会发生什么

问题描述

我打电话,std::vector.reserve()然后我打电话std::move()给那个矢量对象。我需要重新分配空间吗?移动会改变向量的容量吗?

标签: c++stl

解决方案


向量[6]的移动构造函数只保证other.empty() == true(other作为被移动对象) 在移动发生之后,它不保证任何关于capacity()被移动向量的 。所以你不能确定它是否改变了容量。

所以,回答你的问题:

移动会改变向量的容量吗?

这是未指定的。


推荐阅读