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

La description

La fonction C ++ std::algorithm::generate()affecte la valeur renvoyée par les appels successifs à gen aux éléments dans la plage du premier au dernier .

Déclaration

Voici la déclaration de l'en-tête std :: algorithm :: generate () de la fonction std :: algorithm.

C ++ 98

template <class ForwardIterator, class Generator>
void generate (ForwardIterator first, ForwardIterator last, Generator gen);

Paramètres

  • first - Transférer l'itérateur à la position initiale.

  • last - Transférer l'itérateur vers la position finale.

  • 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 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 ().

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

using namespace std;

int main(void) {
   vector<int> v(5);

   generate(v.begin(), v.end(), rand);

   cout << "Vector contains following random numbers" << endl;

   for (auto it = v.begin(); it != v.end(); ++it)
      cout << *it << endl;

   return 0;
}

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

Vector contains following random numbers
1804289383
846930886
1681692777
1714636915
1957747793