top of page

Filmina 7

 

Erase

 

Borrar elementos

Elimina de la lista de contenedores ya sea un solo elemento (posición) o una serie de elementos ([first, last)). 

Esto reduce efectivamente el recipiente tamaño por el número de elementos eliminados, que son destruidos. 

A diferencia de otros contenedores de secuencia estándar, lista y forward_list objetos están diseñados específicamente para ser elementos de inserción y extracción eficientes en cualquier posición, incluso en medio de la secuencia. 
 

 

// erasing from list

#include <iostream>

#include <list>

 

int main ()

{

  std::list<int> mylist;

  std::list<int>::iterator it1,it2;

 

  // set some values:

  for (int i=1; i<10; ++i) mylist.push_back(i*10);

 

                              // 10 20 30 40 50 60 70 80 90

  it1 = it2 = mylist.begin(); // ^^

  advance (it2,6);            // ^                 ^

  ++it1;                      //    ^              ^

 

  it1 = mylist.erase (it1);   // 10 30 40 50 60 70 80 90

                              //    ^           ^

 

  it2 = mylist.erase (it2);   // 10 30 40 50 60 80 90

                              //    ^           ^

 

  ++it1;                      //       ^        ^

  --it2;                      //       ^     ^

 

  mylist.erase (it1,it2);     // 10 30 60 80 90

                              //        ^

 

  std::cout << "mylist contains:";

  for (it1=mylist.begin(); it1!=mylist.end(); ++it1)

    std::cout << ' ' << *it1;

  std::cout << '\n';

 

  return 0;

}

bottom of page