Freigeben über


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

Siehe auch

Referenz

list Class

Standardvorlagenbibliothek