Biblioteca de Algoritmos C ++ - Função copy_n ()

Descrição

A função C ++ std::algorithm::copy_n()copia os primeiros n números para um novo local. Se o valor de n for negativo, a função não fará nada.

Declaração

A seguir está a declaração para o cabeçalho da função std :: algorithm :: copy_n () std :: algorithm.

C ++ 11

template <class InputIterator, class Size, class OutputIterator>
OutputIterator copy_n (InputIterator first, Size n, OutputIterator result);

Parâmetros

  • first - Insira iteradores nas posições iniciais da sequência pesquisada.

  • n - Número de elementos a serem copiados.

  • result - O iterador de saída para a posição inicial na nova sequência.

Valor de retorno

Retorna um iterador para o final do intervalo 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_n ().

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

using namespace std;

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

   copy_n(v1.begin(), 3, v2.begin());

   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