std :: move()之后std :: vector存储会发生什么

时间:2018-11-20 17:40:12

标签: c++ stl

我先呼叫std::vector.reserve(),然后在该矢量对象上呼叫std::move()。我是否需要再次分配空间?移动会改变矢量的容量吗?

1 个答案:

答案 0 :(得分:1)

发生移动后,move constructor for vector [6]仅保证other.empty() == trueother是移出的对象),而不保证{{1} }。因此,您无法确定它是否更改了容量。

因此,回答您的问题:

  

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

这是未指定的。