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