reverse_iterator::reverse_iterator
Erstellt aus einem zugrunde liegenden Iterator einen standardmäßigen reverse_iterator oder reverse_iterator.
reverse_iterator( );
explicit reverse_iterator(
RandomIterator _Right
);
template<class Type>
reverse_iterator(
const reverse_iterator<Type>& _Right
);
Parameter
- _Right
Der Iterator, der reverse_iterator zugeordnet werden soll.
Rückgabewert
Ein Standardwert reverse_iterator oder reverse_iterator, das einen zugrunde liegenden Iterator entspricht.
Hinweise
Die Identität, die alle umgekehrten Iteratoren auf die zugrunde liegenden, Iteratoren verknüpft ist:
&* (reverse_iterator (i) == &) * ( i - 1).
In der Praxis bedeutet dies, dass das in umgekehrter Sequenz das reverse_iterator die Position des Elements eines über (auf der rechten Seite) das Element hinaus verweist, dass der Iterator in der ursprünglichen Sequenz verwiesen hat. Somit, wenn ein Iterator das Element in der Sequenz 6 adressierte (2, 4, 6, 8), dann reverse_iterator, behandelt das Element 4 in der umgekehrten Reihenfolge (8, 6, 4, 2).
Beispiel
// 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;
}
Ausgabe
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.
Anforderungen
Header: <Iterator>
Namespace: std