Freigeben über


reverse_copy

Kehrt die Reihenfolge der Elemente in einem Quellbereichs beim Kopieren in einen um Zielbereich

template<class BidirectionalIterator, class OutputIterator> 
   OutputIterator reverse_copy( 
      BidirectionalIterator _First,  
      BidirectionalIterator _Last,  
      OutputIterator _Result 
   );

Parameter

  • _First
    Ein bidirektionalem Iterator, der auf der Position des ersten Elements im Quellbereich zeigt, in dem die Elemente permutiert wurden.

  • _Last
    Ein bidirektionalem Iterator, der auf der Position eine hinter dem letzten Element im Quellbereich zeigt, in dem die Elemente permutiert wurden.

  • _Result
    Ein Ausgabeiterator, der auf der Position des ersten Elements im Zielbereich zeigt, in dem Elemente kopiert werden.

Rückgabewert

Ein Ausgabeiterator, der auf der Position eine hinter dem letzten Element im Zielbereich zeigt auf, 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 befinden der Sequenz ist die letzte Position der ersten von Zunahme erreichbar.

reverse_copy verfügt über zwei verknüpfte Formulare:

Informationen über das Verhalten dieser Funktionen 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;
}

Ausgabe

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

Siehe auch

Referenz

reverse_copy (STL-Beispiele)

Standardvorlagenbibliothek