Libreria di algoritmi C ++ - funzione copy_n ()

Descrizione

La funzione C ++ std::algorithm::copy_n()copia i primi n numeri in una nuova posizione. Se il valore di n è negativo, la funzione non fa nulla.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: algoritmo :: copy_n () modulo funzione std :: intestazione algoritmo.

C ++ 11

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

Parametri

  • first - Input iteratori nelle posizioni iniziali della sequenza ricercata.

  • n - Numero di elementi da copiare.

  • result - Output iteratore alla posizione iniziale nella nuova sequenza.

Valore di ritorno

Restituisce un iteratore alla fine dell'intervallo di destinazione in cui gli elementi sono stati copiati.

Eccezioni

Genera un'eccezione se l'assegnazione di un elemento o un'operazione su un iteratore genera un'eccezione.

Tieni presente che i parametri non validi causano un comportamento indefinito.

Complessità temporale

Lineare nella distanza tra il primo e l' ultimo .

Esempio

L'esempio seguente mostra l'utilizzo della funzione std :: algoritmo :: 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;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

Vector v2 contains following elements
1
2
3