map::rend
Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento en un mapa 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 mapa invertido (la ubicación que había precedido el primer elemento del mapa unreversed).
Comentarios
rend se utiliza con un mapa invertido igual que final se utiliza con un mapa.
Si el valor devuelto de rend se asigna a const_reverse_iterator, el objeto de mapa no puede modificarse.Si el valor devuelto de rend se asigna a reverse_iterator, el objeto de mapa puede modificarse.
rend se puede utilizar para probar a si un iterador inverso ha llegado al final del mapa.
El valor devuelto por rend no debe ser administrada.
Ejemplo
// 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;
}
Requisitos
encabezado: <Asignar>
espacio de nombres: std