list::erase

从列表中的指定位置移除一个或一系列元素。

iterator erase(    iterator _Where ); iterator erase(    iterator _First,    iterator _Last );

参数

  • _Where
    要从列表中移除的元素的位置。

  • _First
    要从列表中移除的第一个元素的位置。

  • _Last
    要从列表中移除的刚超出最后一个元素的位置。

返回值

指定已移除的任何元素之外保留的第一个元素的双向迭代器;如果不存在此类元素,则为指向列表末尾的指针。

备注

不发生重新分配,因此迭代器和引用仅对已清除元素无效。

erase 永远不会引发异常。

示例

// list_erase.cpp
// compile with: /EHsc
#include <list>
#include <iostream>

int main( ) 
{
   using namespace std;
   list <int> c1;
   list <int>::iterator Iter;
   
   c1.push_back( 10 );
   c1.push_back( 20 );
   c1.push_back( 30 );
   c1.push_back( 40 );
   c1.push_back( 50 );
   cout << "The initial list is:";
   for ( Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
      cout << " " << *Iter;
   cout << endl;

   c1.erase( c1.begin( ) );
   cout << "After erasing the first element, the list becomes:";
   for ( Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
      cout << " " << *Iter;
   cout << endl;
   Iter = c1.begin( );
   Iter++;
   c1.erase( Iter, c1.end( ) );
   cout << "After erasing all elements but the first, the list becomes: ";
   for (Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
      cout << " " << *Iter;
   cout << endl;
}
  

要求

标头:<list>

命名空间: std

请参见

参考

list 类

标准模板库