Compartir a través de


deque::erase y deque::clear

Muestra cómo utilizar deque:: barrido y las funciones de la biblioteca estándar de la plantilla (STL) de deque:: desactive en Visual C++.

iterator erase(
   iterator Iter
);
iterator erase(
   iterator First,
   iterator Last
); void clear( ) const;

Comentarios

[!NOTA]

La clase y los nombres de parámetro en el prototipo no coincide con la versión del archivo de encabezado.Algunos se han modificado para mejorar la legibilidad.

La primera función miembro de barrido quita el elemento del contenedor indicada por Iter.La segunda función miembro de barrido quita los elementos del contenedor en el intervalo [First, Last).Ambos devuelven un iterador que designa el primer elemento que permanece más allá de cualquier elemento quitado, o final si no existe ese elemento.Quitar las llamadas del destructor n las causas de los elementos de n y una asignación para cada uno de los elementos entre el punto de inserción y el final más próximo de la secuencia.Quitar un elemento en cualquier extremo invalida solamente los iteradores y las referencias que señalan los elementos borrados.Si no, borrar un elemento reemplaza todos los iteradores y referencias.Las llamadas de función claras barrido(inicio, final) del miembro.

Ejemplo

// deque_erase_clear.cpp 
// compile with: /EHsc
// 
// Functions:
//
//    erase
//    clear
//    begin
//    end
//////////////////////////////////////////////////////////////////////

#include <iostream>
#include <deque>

using namespace std;


typedef deque<int >  INTDEQUE;
void print_contents (INTDEQUE  deque);

int main()
{
    // create a and with elements 1,2,3,4 and 5
    INTDEQUE  a;
    a.push_back(1);
    a.push_back(2);
    a.push_back(3);
    a.push_back(4);
    a.push_back(5);

    //print the contents
    print_contents (a);

    //  erase the second element
    a.erase(a.begin()+1);
    print_contents (a);

    //erase the last two elements
    a.erase(a.end()-2,a.end());
    print_contents (a);

    //clear a
    a.clear();
    print_contents (a);
}

void print_contents (INTDEQUE  deque) {
    INTDEQUE::iterator pdeque;

    cout <<"The output is: ";

        for(pdeque = deque.begin();
        pdeque != deque.end();
        pdeque++)
    {
        cout << *pdeque <<" " ;
    }
        cout<<endl;
}
  

Requisitos

encabezado: <deque>

Vea también

Conceptos

Ejemplos de biblioteca de plantillas estándar