【发布时间】:2012-11-30 06:38:21
【问题描述】:
我认为在迭代器中使用 begin 会搞砸这件事,因为它只迭代 26 次并跳过每 2 个元素。我还能怎么做?
void clearVector() {
for (int i = 0; i < 52; i++) {
vector.erase(vector.begin() + i);
}
}
【问题讨论】:
-
即使您自己没有发现
clear,阅读erase的文档也是一个开始。 -1. -
@jogojapan:这个问题并不完全重复。
-
@MarceloCantos OP 想要从向量中删除 all 元素,建议一种不起作用的方法并询问“我还能怎么做”。这怎么不等于问“如何从向量中删除所有项目”?
-
@jogojapan:拥有相同的标题并不能使问题相同。另一个问题表现出一种不同类型的误解,并且有一个额外的方面——想要在移除后保留对象。这些因素需要对这个问题的需求做出不同的回应。
-
@MarceloCantos 另一个问题最初是关于如何删除所有项目,后来更新为包括“保留对象”。它收到的答案涵盖了两个方面。上述问题所涉及的所有内容都已由另一个问题完全解决。