Share via


multimap::rend

Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento en un multimap invertido.

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Valor devuelto

Un iterador bidireccional inversa que dirige la ubicación que funciona correctamente el último elemento en un multimap invertido (la ubicación que había precedido el primer elemento del multimap unreversed).

Comentarios

rend se utiliza con un multimap invertido igual que final se utiliza con un multimap.

Si el valor devuelto de rend se asigna a const_reverse_iterator, el objeto de multimap no puede modificarse. Si el valor devuelto de rend se asigna a reverse_iterator, el objeto de multimap puede modificarse.

rend se puede utilizar para probar a si un iterador inverso ha llegado al final del multimap.

El valor devuelto por rend no se debe desreferenciar.

Ejemplo

// 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;
}
  

Requisitos

Encabezado: <map>

Espacio de nombres: std

Vea también

Referencia

multimap (Clase)

Biblioteca de plantillas estándar