【发布时间】:2011-07-26 16:25:37
【问题描述】:
迭代器擦除(迭代器位置);
迭代器擦除(迭代器优先, 迭代器最后);
擦除元素从向量中移除 容器或者单个元素 (位置)或一系列元素 ([第一,最后))。
这有效地减少了向量 元素数量的大小 删除,调用每个元素的 之前的析构函数。
和:
删除
删除所有等于 范围内的给定值, 由 [first, last) 定义。删除是 通过移动中的元素来完成 范围以这样的方式,需要 元素被覆盖。要素 在新旧两端之间 范围保持不变。迭代器 返回范围的新结尾。
有没有办法在不调整向量大小的情况下从迭代器范围内的 std::vector 中删除元素(类似于删除,但从 [first, last] 中删除所有元素)?我需要保持它在运行时达到的最大大小以防止重新分配。
谢谢!
【问题讨论】: