reverse_copy
Gibt die Reihenfolge der Elemente innerhalb eines Quellbereichs beim Kopieren in einen Zielbereich um
template<class BidirectionalIterator, class OutputIterator>
OutputIterator reverse_copy(
BidirectionalIterator _First,
BidirectionalIterator _Last,
OutputIterator _Result
);
Parameter
_First
Ein bidirektionaler Iterator, der die Position des ersten Elements im Quellbereich zeigt, in dem die Elemente permutiert wurden._Last
Ein bidirektionaler Iterator, der zur Position eine hinter dem letzten Element im Quellbereich zeigt, in dem die Elemente permutiert wurden._Result
Ein Ausgabeiterator, der die Position des ersten Elements im Zielbereich zeigt, zu dem Elemente kopiert werden.
Rückgabewert
Ein Ausgabeiterator, der zur Position eine hinter dem letzten Element im Zielbereich die zeigt, der die geänderte Sequenz von Elementen kopiert wird.
Hinweise
Die Quelle und die Zielbereiche, auf die verwiesen wird, müssen gültig sein, alle Zeiger müssen dereferenzierbar sein und in der Sequenz ist die letzte Position von der ersten durch Zunahme erreichbar.
reverse_copy hat zwei verknüpfte Formulare:
Informationen darüber, wie diese Funktionen verhalten, finden Sie unter Überprüfte Iteratoren.
Beispiel
// alg_reverse_copy.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <iostream>
int main( ) {
using namespace std;
vector <int> v1, v2( 10 );
vector <int>::iterator Iter1, Iter2;
int i;
for ( i = 0 ; i <= 9 ; i++ )
{
v1.push_back( i );
}
cout << "The original vector v1 is:\n ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")." << endl;
// Reverse the elements in the vector
reverse_copy (v1.begin( ), v1.end( ), v2.begin( ) );
cout << "The copy v2 of the reversed vector v1 is:\n ( " ;
for ( Iter2 = v2.begin( ) ; Iter2 != v2.end( ) ; Iter2++ )
cout << *Iter2 << " ";
cout << ")." << endl;
cout << "The original vector v1 remains unmodified as:\n ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout << *Iter1 << " ";
cout << ")." << endl;
}
Output
The original vector v1 is:
( 0 1 2 3 4 5 6 7 8 9 ).
The copy v2 of the reversed vector v1 is:
( 9 8 7 6 5 4 3 2 1 0 ).
The original vector v1 remains unmodified as:
( 0 1 2 3 4 5 6 7 8 9 ).
Anforderungen
Header: <algorithm>
Namespace: std