Partager via


list::erase

Supprime un élément ou une plage d'éléments d'une liste aux emplacements spécifiés.

iterator erase(    iterator _Where ); iterator erase(    iterator _First,    iterator _Last );

Paramètres

  • _Where
    Position de l'élément à supprimer de la liste.

  • _First
    Position du premier élément supprimé de la liste.

  • _Last
    Position juste après le dernier élément supprimé de la liste.

Valeur de retour

Itérateur bidirectionnel qui désigne le premier élément restant après tous les éléments supprimés, ou pointeur vers la fin de la liste si aucun élément de ce genre n'existe.

Notes

Aucune réallocation ne se produit. Ainsi, les itérateurs et les références deviennent non valides uniquement pour les éléments effacés.

erase ne lève jamais d'exception.

Exemple

// 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;
}
  

Configuration requise

En-tête : <list>

Espace de noms : std

Voir aussi

Référence

list, classe

Bibliothèque STL (Standard Template Library)