multimap::rend
Retourne un itérateur qui adresse l'emplacement succédant au dernier élément d'une multimap inversée
const_reverse_iterator rend( ) const;
reverse_iterator rend( );
Valeur de retour
Un itérateur bidirectionnel inverse qui gère l'emplacement succédant au dernier élément d'une multimap inversée (emplacement qui avait précédé le premier élément de la multimap non inversée).
Notes
rend est utilisé avec une multimap inversée tout comme fin est utilisé avec une multimap.
Si la valeur de retour de rend est assignée à const_reverse_iterator,il est alors impossible de modifier l'objet de la multimap. Si la valeur de retour de rend est affectée à reverse_iterator,il est alors possible de modifier l'objet de la multimap.
Il est possible d'utiliser rend pour tester si un itérateur inverse a atteint la fin de sa multimap.
La valeur retournée par rend ne doit pas être déréférencée.
Exemple
// multimap_rend.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
int main( )
{
using namespace std;
multimap <int, int> m1;
multimap <int, int> :: iterator m1_Iter;
multimap <int, int> :: reverse_iterator m1_rIter;
multimap <int, int> :: const_reverse_iterator m1_crIter;
typedef pair <int, int> Int_Pair;
m1.insert ( Int_Pair ( 1, 10 ) );
m1.insert ( Int_Pair ( 2, 20 ) );
m1.insert ( Int_Pair ( 3, 30 ) );
m1_rIter = m1.rend( );
m1_rIter--;
cout << "The last element of the reversed multimap m1 is "
<< m1_rIter -> first << "." << endl;
// begin can be used to start an iteration
// throught a multimap in a forward order
cout << "The multimap is: ";
for ( m1_Iter = m1.begin( ) ; m1_Iter != m1.end( ); m1_Iter++)
cout << m1_Iter -> first << " ";
cout << "." << endl;
// rbegin can be used to start an iteration
// throught a multimap in a reverse order
cout << "The reversed multimap is: ";
for ( m1_rIter = m1.rbegin( ) ; m1_rIter != m1.rend( ); m1_rIter++)
cout << m1_rIter -> first << " ";
cout << "." << endl;
// A multimap element can be erased by dereferencing to its key
m1_rIter = --m1.rend( );
m1.erase ( m1_rIter -> first );
m1_rIter = m1.rend( );
m1_rIter--;
cout << "After the erasure, the last element "
<< "in the reversed multimap is "
<< m1_rIter -> first << "." << endl;
}
Configuration requise
En-tête : <mappage>
Espace de noms : std