如何擦除矢量的一部分?

时间:2011-07-12 04:43:59

标签: c++ vector erase

如果我的std :: vector有1890个元素,并且我想保留前1000个并删除其余元素,然后再次接下来的890个元素并擦除前1000个,那么循环似乎是必要的。 /> 有更方便的方法吗?

1 个答案:

答案 0 :(得分:6)

std::vector具有erase成员函数,允许您在不使用显式循环的情况下擦除一系列元素。例如:

std::vector<whatever> x(1890);

// erase first 1000 items
x.erase(x.begin(), x.begin()+1000);