list::erase
Supprime un élément ou une plage d'éléments dans une liste des positions spécifiées.
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 est supprimé de la liste._Last
Positionnez uniquement au delà de le dernier élément supprimé de la liste.
Valeur de retour
Un itérateur bidirectionnel qui indique le premier élément restant en plus de tous les éléments supprimés, ou un pointeur à la fin de la liste s'il n'existe aucun élément.
Notes
Aucune réallocation ne se produit, les itérateurs et les références sont non valides uniquement pour les éléments supprimés.
erase ne jamais lève une 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>
l'espace de noms : DST