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

Descripción

La función C ++ std::algorithm::generate()asigna el valor devuelto por llamadas sucesivas a gen a los elementos en el rango del primero al último .

Declaración

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

C ++ 98

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

Parámetros

  • first - Reenviar iterador a la posición inicial.

  • last - Reenviar iterador a la posición final.

  • gen - Función generadora que se llama sin argumentos y devuelve algún valor

Valor devuelto

Ninguna

Excepciones

Lanza una excepción si la función gen 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.

Ejemplo

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

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

Vector contains following random numbers
1804289383
846930886
1681692777
1714636915
1957747793