Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt reverse_iterator Standard oder reverse_iterator aus einem zugrunde liegenden 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 angepasst werden soll.
Rückgabewert
Standard reverse_iterator oder reverse_iterator, die einen zugrunde liegenden Iterator anpassen.
Hinweise
Die Identität, die alle umgekehrten Iteratoren auf ihre zugrunde liegenden Iteratoren verknüpft, ist:
&* (reverse_iterator (i)) == &* i (- 1).
In der Praxis bedeutet dies, dass dem in umgekehrter Reihenfolge das reverse_iterator die Position des Elements eines über (auf der rechten Seite) dem Element hinaus verweist, dass der Iterator in der ursprünglichen Sequenz verwiesen hat.Daher, wenn ein Iterator das Element 6 in der Sequenz adressierte (2, 4, 6, 8), dann, reverse_iterator adressiert das Element 4 in umgekehrter 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;
}
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.
Anforderungen
Header: <iterator>
Namespace: std