list::erase
Entfernt ein Element oder einen Bereich von Elementen in einer Liste mit den angegebenen Speicherorten.
iterator erase(
iterator _Where
);
iterator erase(
iterator _First,
iterator _Last
);
Parameter
_Where
Position des Elements, aus der Liste entfernt werden._First
Position des ersten Elements aus der Liste entfernt._Last
Positionieren Sie direkt über dem letzten Element hinaus, das aus der Liste entfernt wird.
Rückgabewert
Ein bidirektionaler Iterator, der das erste Element festlegt, das über allen entfernten Elemente hinaus bleibt oder ein Zeiger am Ende der Liste, wenn kein solches Element vorhanden ist.
Hinweise
Keine Neuzuordnung tritt auf, sodass Iteratoren und Verweise nur für die gelöschte Elemente ungültig.
erase nie löst 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