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