Bibliothèque d'algorithmes C ++ - fonction generate_n ()

La description

La fonction C ++ std::algorithm::generate_n()affecte la valeur renvoyée par les appels successifs à gen aux n premiers éléments de la séquence pointée par le premier .

Déclaration

Voici la déclaration de la fonction std :: algorithm :: generate_n () sous forme d'en-tête std :: algorithme.

C ++ 98

template <class OutputIterator, class Size, class Generator>
void generate_n(OutputIterator first, Size n, Generator gen);

Paramètres

  • first - Sortie de l'itérateur à la position initiale.

  • n - Nombre de valeurs à générer.

  • gen - Fonction de générateur qui est appelée sans arguments et renvoie une valeur.

Valeur de retour

Aucun

Des exceptions

Lève une exception si la fonction gen ou l'affectation d'élément ou une opération sur un itérateur lève une exception.

Veuillez noter que des paramètres non valides provoquent un comportement non défini.

Complexité temporelle

Linéaire.

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: algorithm :: generate_n ().

#include <iostream>
#include <algorithm>

using namespace std;

int main(void) {
   int arr[10] = {0};

   /* assign value to only first 5 elements */
   generate_n(arr, 5, rand);

   cout << "First five random numbers are" << endl;

   for (int i = 0; i < 10; ++i)
      cout << arr[i] << endl;

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

First five random numbers are
1804289383
846930886
1681692777
1714636915
1957747793
0
0
0
0
0