#include <iostream>
#include <vector>
using namespace std;
int main ()
{
unsigned int i;
vector<unsigned int> myvector;
// set some values (from 1 to 10)
for (i=1; i<=10; i++) myvector.push_back(i);
// erase the 6th element
myvector.erase (myvector.begin()+5);
// erase the first 3 elements:
myvector.erase (myvector.begin(),myvector.begin()+3);
cout << "myvector contains:";
for (i=0; i<myvector.size(); i++)
cout << " " << myvector[i];
cout << endl;
return 0;
}
5条答案
按热度按时间qcuzuvrc1#
(将向量中的第一个元素计数为
i=0
)z9smfwbn2#
假设您正在查找包含值
2
的元素,而不是索引2
处的值。(我使用C0x是为了避免一些样板文件,但实际使用
std::find
和vector::erase
并不需要C0x)lzfw57am3#
另外,如果要删除多个元素,请记住使用erase-remove idiom。
aor9mmx14#
o7jaxewo5#
从C++ 20开始,我们可以使用
std::erase
来删除多个元素。(no需要“erase-remove idiom“)