list::erase
Entfernt ein Element oder eine Reihe von Elementen in einer Liste aus angegebenen Speicherorten.
iterator erase( iterator _Where ); iterator erase( iterator _First, iterator _Last );
Parameter
_Where
Die Position des von der Liste zu entfernenden Elements._First
Die Position des ersten Elements, das von der Liste entfernt werden soll._Last
Die Position direkt hinter dem letzten von der Liste entfernten Element.
Rückgabewert
Ein bidirektionaler Iterator, der das erste über die entfernten Elemente hinaus verbliebene Element festlegt, oder ein Zeiger, der das Ende der Liste darstellt, wenn kein solches Element vorhanden ist
Hinweise
Es erfolgt keine Neuzuordnung. Die Iteratoren und Verweise werden nur für die gelöschten Elemente ungültig.
erase löst nie eine Ausnahme aus.
Beispiel
// 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;
}
Anforderungen
Header: <list>
Namespace: std