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