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

Descripción

La función C ++ std::algorithm::generate_n()asigna el valor devuelto por llamadas sucesivas a gen a los primeros n elementos de la secuencia apuntada por el primero .

Declaración

A continuación se muestra la declaración de la función std :: algorítm :: generate_n () del encabezado std :: algorítmico.

C ++ 98

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

Parámetros

  • first - Iterador de salida a la posición inicial.

  • n - Número de valores a generar.

  • 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 la asignación del elemento 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_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;
}

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

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