deque::erase et deque::clear
Explique comment utiliser les fonctions de la bibliothèque de modèles Standard de deque : : erase et (STL) de deque : : espace libre dans Visual C++.
iterator erase(
iterator Iter
);
iterator erase(
iterator First,
iterator Last
); void clear( ) const;
Notes
[!REMARQUE]
Les noms de classes/paramètre dans le prototype ne correspondent pas à la version du fichier d'en-tête.certains ont été modifiés pour améliorer la lisibilité.
La première fonction membre d' erase supprime l'élément du conteneur désigné par Iter.la deuxième fonction membre d' erase supprime les éléments du conteneur dans la plage [First, Last).Les deux retournent un itérateur qui indique le premier élément restant au delà de tous les éléments supprimés, ou fin s'il n'existe aucun élément.Supprimer des appels de destructeur entraîne N d'éléments de N et une assignation pour chacun des éléments entre le point d'insertion et la fin plus proche de la séquence.Suppression d'un élément à l'un ou l'autre extrémité d'utiliser uniquement les itérateurs et les références qui indiquent les éléments effacés.Sinon, effaçant un élément invalide tous les itérateurs et les références.les appels d'une fonction membre clairs erase(démarrez, fin).
Exemple
// 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;
}
Configuration requise
en-tête : <deque>