如何擦除向量的一部分

How do I erase part of a vector?

本文关键字:向量 一部分 擦除 何擦除      更新时间:2023-10-16

如果我的std::vector有1890个元素,我想保留前1000个元素并擦除其余的,然后再保留下890个元素并擦除前1000个,…所以循环似乎是必要的。
有更方便的方法吗?

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

std::vector<whatever> x(1890);
// erase first 1000 items
x.erase(x.begin(), x.begin()+1000);