Compartir a través de


reverse_iterator::reverse_iterator

construye reverse_iterator predeterminado o reverse_iterator de un iterador subyacente.

reverse_iterator( ); 
explicit reverse_iterator(
   RandomIterator _Right
);
template<class Type>
   reverse_iterator(
      const reverse_iterator<Type>& _Right
   );

Parámetros

  • _Right
    El iterador que debe ser apropiado para reverse_iterator.

Valor devuelto

reverse_iterator predeterminado o reverse_iterator que adapta un iterador subyacente.

Comentarios

La identidad que se relaciona todos los iteradores inversos con los iteradores subyacentes es:

&* == de &* (reverse_iterator(i)) (i – 1).

En la práctica, esto significa que en la secuencia invertida que el reverse_iterator hará referencia al elemento una posición más allá (a la derecha de) del elemento al que el iterador había denominado en la secuencia original.Así pues un iterador dirigió el elemento 6 en la secuencia (2, 4, 6, 8), después reverse_iterator se dirige al elemento 4 en la secuencia invertida (8, 6, 4, 2).

Ejemplo

// reverse_iterator_reverse_iterator.cpp
// compile with: /EHsc
#include <iterator>
#include <algorithm>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   vector<int> vec;
   for ( i = 1 ; i < 6 ; ++i )
   {
      vec.push_back ( i );
   }
   
   vector <int>::iterator vIter;
   cout << "The vector vec is: ( ";
   for ( vIter = vec.begin ( ) ; vIter != vec.end ( ); vIter++)
      cout << *vIter << " ";
   cout << ")." << endl;

   vector <int>::reverse_iterator rvIter;
   cout << "The vector vec reversed is: ( ";
   for ( rvIter = vec.rbegin( ) ; rvIter != vec.rend( ); rvIter++)
      cout << *rvIter << " ";
   cout << ")." << endl;

   vector <int>::iterator pos;
   pos = find ( vec.begin ( ), vec.end ( ), 4 );
   cout << "The iterator pos = " << *pos << "." << endl;

   vector <int>::reverse_iterator rpos ( pos );
   cout << "The reverse_iterator rpos = " << *rpos 
        << "." << endl;
}

Output

The vector vec is: ( 1 2 3 4 5 ).
The vector vec reversed is: ( 5 4 3 2 1 ).
The iterator pos = 4.
The reverse_iterator rpos = 3.

Requisitos

encabezado: <iterador>

espacio de nombres: std

Vea también

Referencia

reverse_iterator Class

Biblioteca de plantillas estándar