Partager via


map::rend

Retourne un itérateur qui adresse l'emplacement réussissant le dernier élément dans une carte inversée.

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Valeur de retour

Un itérateur bidirectionnelle inverse qui adresse l'emplacement réussissant le dernier élément dans une carte inversée (l'emplacement qui a précédé le premier élément dans la carte inversée).

Notes

rend est utilisé avec une carte inversée comme end est utilisé avec une carte.

Si la valeur de retour d'rend est affectée à const_reverse_iterator, l'objet de carte ne peut pas être modifié. Si la valeur de retour d'rend est affectée à reverse_iterator, l'objet de carte peut être modifié.

rend peut être utilisé pour tester la valeur si un itérateur inverse a atteint la fin de la carte.

La valeur retournée par rend ne doit pas être déréférencée.

Exemple

// map_rend.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std;
   map <int, int> m1;

   map <int, int> :: iterator m1_Iter;
   map <int, int> :: reverse_iterator m1_rIter;
   map <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 map m1 is "
        << m1_rIter -> first << "." << endl;

   // begin can be used to start an iteration 
   // through a map in a forward order
   cout << "The map 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 
   // through a map in a reverse order
   cout << "The reversed map is: ";
   for ( m1_rIter = m1.rbegin( ) ; m1_rIter != m1.rend( ); m1_rIter++)
      cout << m1_rIter -> first << " ";
      cout << "." << endl;

   // A map 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 map is "
        << m1_rIter -> first << "." << endl;
}
  

Configuration requise

En-tête : <mappage>

Espace de noms : std

Voir aussi

Référence

map, classe

Bibliothèque STL (Standard Template Library)