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

请参见

参考

vector 类

vector::empty、vector::erase 和 vector::push_back

标准模板库