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