Libreria di algoritmi C ++ - funzione copy_backward ()

Descrizione

La funzione C ++ std::algorithm::copy_backward() copia un intervallo di elementi in una nuova posizione in ordine inverso.

Dichiarazione

Di seguito è la dichiarazione per std :: algoritmo :: copy_backward () modulo std :: intestazione algoritmo.

C ++ 98

template <class BidirectionalIterator1, class BidirectionalIterator2>
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first,
   BidirectionalIterator1 last, BidirectionalIterator2 result);

Parametri

  • first - Iteratori bidirezionali alle posizioni iniziali in una sequenza.

  • last - Iteratori bidirezionali alle posizioni finali in una sequenza.

  • result - Iteratore bidirezionale alla posizione oltre la fine nella sequenza di destinazione.

Valore di ritorno

Restituisce un iteratore al primo elemento della sequenza di destinazione in cui gli elementi sono stati copiati.

Eccezioni

Genera un'eccezione se l'assegnazione di un elemento o un'operazione su un iteratore genera un'eccezione.

Tieni presente che i parametri non validi causano un comportamento indefinito.

Complessità temporale

Lineare nella distanza tra il primo e l' ultimo .

Esempio

L'esempio seguente mostra l'utilizzo della funzione std :: algoritmo :: copy_backward ().

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void) {
   vector<int> v1 = {1, 2, 3, 4, 5};
   vector<int> v2(5);

   copy_backward(v1.begin(), v1.end(), v2.end());

   cout << "Vector v2 contains following elements" << endl;

   for (auto it = v2.begin(); it != v2.end(); ++it)
      cout << *it << endl;

   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

Vector v2 contains following elements
1
2
3
4
5