【发布时间】:2018-05-30 08:12:18
【问题描述】:
Cppreference 只说:
从容器中移除指定的元素。 1) 移除元素 在 pos. 2) 删除范围内的元素 [first;最后)。
在该点处或之后使迭代器和引用无效 擦除,包括 end() 迭代器。
迭代器 pos 必须有效且可取消引用。因此 end() 迭代器(有效,但不可取消引用)不能用作 pos 的值。
如果 first==last,则迭代器 first 不需要是可解引用的: 擦除空范围是无操作的。
【问题讨论】:
-
看起来它确实调整了大小:cplusplus.com/reference/vector/vector/erase
-
@IanA.B.King 当然 size 必须更改,因为元素已被删除,但 capacity 不必更改改变。
-
可比Does clearing a vector affect its capacity?它提到:标准没有规定这一点。
标签: c++ vector language-lawyer