list::erase
Quita un elemento o un intervalo de elementos de una lista de las posiciones especificadas.
iterator erase( iterator _Where ); iterator erase( iterator _First, iterator _Last );
Parámetros
_Where
Posición del elemento que se quitará de la lista._First
Posición del primer elemento que se quitará de la lista._Last
Posición inmediatamente siguiente a la del último elemento que se quitará de la lista.
Valor devuelto
Iterador bidireccional que designa el primer elemento restante después de los elementos quitados o, si no hay ningún elemento después, un puntero al final de la lista.
Comentarios
No se produce ninguna reasignación, así que los iteradores y las referencias solo dejarán de ser válidos para los elementos borrados.
erase nunca lanza una excepción.
Ejemplo
// 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;
}
Requisitos
Encabezado: <list>
Espacio de nombres: std