Biblioteca de algoritmos C ++ - função copy_backward ()
Descrição
A função C ++ std::algorithm::copy_backward() copia uma série de elementos para um novo local na ordem inversa.
Declaração
A seguir está a declaração para o cabeçalho da função std :: algorithm :: copy_backward () std :: algorithm.
C ++ 98
template <class BidirectionalIterator1, class BidirectionalIterator2>
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first,
BidirectionalIterator1 last, BidirectionalIterator2 result);
Parâmetros
first - Iteradores bidirecionais para as posições iniciais em uma sequência.
last - Iteradores bidirecionais para as posições finais em uma sequência.
result - Iterador bidirecional para a posição anterior ao final na sequência de destino.
Valor de retorno
Retorna um iterador para o primeiro elemento da sequência de destino onde os elementos foram copiados.
Exceções
Lança uma exceção se a atribuição de elemento ou uma operação em um iterador lança uma exceção.
Observe que os parâmetros inválidos causam um comportamento indefinido.
Complexidade de tempo
Linear na distância entre o primeiro e o último .
Exemplo
O exemplo a seguir mostra o uso da função 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
Vector v2 contains following elements
1
2
3
4
5