deque::rend
Devuelve un iterador que dirige la ubicación que funciona correctamente el último elemento en un deque invertido.
const_reverse_iterator rend( ) const;
reverse_iterator rend( );
Valor devuelto
Un iterador de acceso aleatorio inversa que dirige la ubicación que funciona correctamente el último elemento en un deque invertido (la ubicación que había precedido el primer elemento del unreversed deque).
Comentarios
rend se utiliza con un deque invertido igual que final se utiliza con un deque.
Si el valor devuelto de rend se asigna a const_reverse_iterator, el objeto de deque no puede modificarse. Si el valor devuelto de rend se asigna a reverse_iterator, el objeto de deque puede modificarse.
rend se puede utilizar para probar si un iterador inverso ha llegado al final del deque.
El valor devuelto por rend no se debe desreferenciar.
Ejemplo
// deque_rend.cpp
// compile with: /EHsc
#include <deque>
#include <iostream>
int main( )
{
using namespace std;
deque <int> c1;
deque <int>::iterator c1_Iter;
deque <int>::reverse_iterator c1_rIter;
// If the following line had replaced the line above, an error
// would have resulted in the line modifying an element
// (commented below) because the iterator would have been const
// deque <int>::const_reverse_iterator c1_rIter;
c1.push_back( 10 );
c1.push_back( 20 );
c1.push_back( 30 );
c1_rIter = c1.rend( );
c1_rIter --; // Decrementing a reverse iterator moves it forward
// in the deque (to point to the first element here)
cout << "The first element in the deque is: " << *c1_rIter << endl;
cout << "The deque is: ";
for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
cout << *c1_Iter << " ";
cout << endl;
// rend can be used to test if an iteration is through all of
// the elements of a reversed deque
cout << "The reversed deque is: ";
for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
cout << *c1_rIter << " ";
cout << endl;
c1_rIter = c1.rend( );
c1_rIter--; // Decrementing the reverse iterator moves it backward
// in the reversed deque (to the last element here)
*c1_rIter = 40; // This modification of the last element would
// have caused an error if a const_reverse
// iterator had been declared (as noted above)
cout << "The modified reversed deque is: ";
for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
cout << *c1_rIter << " ";
cout << endl;
}
Requisitos
Encabezado: <deque>
Espacio de nombres: std