Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何擦除向量的一部分?_C++_Vector_Erase - Fatal编程技术网

C++ 如何擦除向量的一部分?

C++ 如何擦除向量的一部分?,c++,vector,erase,C++,Vector,Erase,如果我的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); 标准:向量

如果我的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); 
标准:向量x(1890); //删除前1000项 x、 擦除(x.begin(),x.begin()+1000);
@Bhargava:这是一个完全不同的问题。@claptrap:检查编辑历史;这曾经是一个完全不同的问题。短语“然后再接着890个元素”是什么意思?!