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