vector::erase
从指定位置删除向量中的一个元素或一系列元素。
iterator erase( const_iterator_Where ); iterator erase( const_iterator _First, const_iterator_Last );
参数
参数 |
描述 |
_Where |
要从向量中移除的元素的位置。 |
_First |
要从向量中移除的第一个元素的位置。 |
_Last |
紧接要从向量中移除的最后一个元素的位置。 |
返回值
一个迭代器,它指定已移除的任何元素之外保留的第一个元素或指向向量末尾的指针(若此类元素不存在)。
备注
erase 函数不会修改向量的容量,只修改其大小。
示例
// vector_erase.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector <int> vec;
vector <int>::iterator pos;
vec.push_back(10);
vec.push_back(20);
vec.push_back(30);
vec.push_back(40);
vec.push_back(50);
cout << "Capacity = " << vec.capacity() << endl;
cout << "vec =";
for (pos = vec.begin(); pos != vec.end(); ++pos)
{
cout << " " << *pos;
}
cout << endl;
vec.erase(vec.begin());
cout << "vec = ";
for (pos = vec.begin(); pos != vec.end(); ++pos)
{
cout << " " << *pos;
}
cout << endl;
vec.erase(vec.begin() + 1, vec.begin() + 3);
cout << "vec = ";
for (pos = vec.begin(); pos != vec.end(); ++pos)
{
cout << " " << *pos;
}
cout << endl;
cout << "Capacity after erase calls = " << vec.capacity() << endl;
}
要求
标头:<vector>
命名空间: std