Traduzioni di questa pagina?:

erase

Sintassi:

    #include <deque>
    iterator erase( iterator loc );
    iterator erase( iterator start, iterator end );

La funzione erase() cancella l'elemento posizionato alla locazione loc, oppure cancella gli elementi compresi tra gli iteratori start e end (includendo start, ma escludendo end). Il valore di ritorno è l'elemento dopo l'ultimo elemento cancellato.

erase() gira a tempo lineare per i vettori (per altri contenitori si veda la relativa sezione del wiki)

For esempio:

   // Creiamo una deque e carichiamoci i primi 10 caratteri dell'alfabeto
   deque<char> alphaDeque;
   for( int i=0; i < 10; i++ ) {
     alphaDeque.push_back( i + 65 );
   }
   int size = alphaDeque.size();
   deque<char>::iterator startIterator;
   deque<char>::iterator tempIterator;
   for( int i=0; i < size; i++ ) {
     startIterator = alphaDeque.begin();
     alphaDeque.erase( startIterator );
     // Display the deque
     for( tempIterator = alphaDeque.begin(); tempIterator != alphaDeque.end (); tempIterator++ ) {
       cout << *tempIterator;
     }
     cout << endl;
   }

Il codice produrrebbe il seguente output:

   BCDEFGHIJ
   CDEFGHIJ
   DEFGHIJ
   EFGHIJ
   FGHIJ
   GHIJ
   HIJ
   IJ
   J

Nel prossimo esempio erase() viene chiamati con due iteratori per cancellare un intervallo di elementi dalla deque:

   // creiamo la deque e con i 10 caratteri dell'alfabeto
   deque<char> alphaDeque;
   for( int i=0; i < 10; i++ ) {
     alphaDeque.push_back( i + 65 );
   }
   // mostrate la deque completa
   for( int i = 0; i < alphaDeque.size(); i++ ) {
     cout << alphaDeque[i];
   }
   cout << endl;
 
   // usiamo erase per rimuovere dalla deque tutti i caratteri tranne i primi
   // due e gli ultimi 3
   alphaDeque.erase( alphaDeque.begin()+2, alphaDeque.end()-3 );
   // ecco la deque modificata
   for( int i = 0; i < alphaDeque.size(); i++ ) {
     cout << alphaDeque[i];
   }
   cout << endl;

Il codice produrrebbe il seguente output:

   ABCDEFGHIJ
   ABHIJ

Argomenti correlati: clear, insert, pop_back, pop_front