deque::erase e deque::clear
Ilustra como usar o deque::erase e deque::clear funções de biblioteca STL (Standard Template) no Visual C++.
iterator erase(
iterator Iter
);
iterator erase(
iterator First,
iterator Last
); void clear( ) const;
Comentários
Observação |
---|
Nomes de classe/parâmetro o protótipo não coincidem com a versão no arquivo de cabeçalho.Alguns foram modificados para melhorar a legibilidade. |
O primeiro Apagar a função de membro remove o elemento do contêiner apontado por Iter.A segunda Apagar a função de membro remove os elementos do recipiente no intervalo [First, Last).Os dois retornam um iterador que designa o primeiro elemento restantes além quaisquer elementos removidos, ou final se não há tal elemento existe.Removendo n causas de elementos n chamadas de destruidor e uma atribuição para cada um dos elementos entre o ponto de inserção e o mais próximo final da seqüência.Remover um elemento em uma das extremidades invalida somente referências que designar os elementos apagados e iteradores.Caso contrário, apagar um elemento invalida todas as referências e iteradores.As chamadas de função de membro clear Apagar(começar, final).
Exemplo
// 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
Cabeçalho: <deque>