Bibliothèque d'algorithmes C ++ - Fonction copy_backward ()

La description

La fonction C ++ std::algorithm::copy_backward() copie une plage d'éléments vers un nouvel emplacement dans l'ordre inverse.

Déclaration

Voici la déclaration de la fonction std :: algorithm :: copy_backward () sous forme d'en-tête std :: algorithme.

C ++ 98

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

Paramètres

  • first - Itérateurs bidirectionnels vers les positions initiales d'une séquence.

  • last - Itérateurs bidirectionnels vers les positions finales dans une séquence.

  • result - Itérateur bidirectionnel vers la position après la fin dans la séquence de destination.

Valeur de retour

Renvoie un itérateur vers le premier élément de la séquence de destination où les éléments ont été copiés.

Exceptions

Lève une exception si l'affectation d'élément ou une opération sur un itérateur lève une exception.

Veuillez noter que des paramètres non valides provoquent un comportement non défini.

Complexité temporelle

Linéaire dans la distance entre le premier et le dernier .

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: algorithm :: 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Vector v2 contains following elements
1
2
3
4
5