list::erase
Quita un elemento o un intervalo de elementos de una lista de posiciones especificadas.
iterator erase(
iterator _Where
);
iterator erase(
iterator _First,
iterator _Last
);
Parámetros
_Where
Posición del elemento que se va a quitar de la lista._First
Posición del primer elemento quitado de la lista._Last
Colocar simplemente más allá del último elemento quitado de la lista.
Valor devuelto
Un iterador bidireccional que designa el primer elemento que permanece más allá de cualquier elemento quitado, o un puntero al final de la lista si no existe ese elemento.
Comentarios
Ninguna reasignación aparece, por lo que los iteradores y referencias dejan de ser válidos solo para los elementos borrados.
barrido nunca produce 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: <lista>
espacio de nombres: std