Biblioteca de algoritmos C ++ - función copy_n ()

Descripción

La función C ++ std::algorithm::copy_n()copia los primeros n números en una nueva ubicación. Si el valor de n es negativo, la función no hace nada.

Declaración

A continuación se muestra la declaración de la función std :: algorítm :: copy_n () del encabezado std :: algoritmo.

C ++ 11

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

Parámetros

  • first - Ingrese iteradores a las posiciones iniciales de la secuencia buscada.

  • n - Número de elementos a copiar.

  • result - Salida del iterador a la posición inicial en la nueva secuencia.

Valor devuelto

Devuelve un iterador al final del rango de destino donde se copiaron los elementos.

Excepciones

Lanza una excepción si la asignación de elementos o una operación en un iterador arroja una excepción.

Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.

Complejidad del tiempo

Lineal en la distancia entre el primero y el último .

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: algorítm :: 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Vector v2 contains following elements
1
2
3