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