Descrição
A função C ++ std::algorithm::generate_n()atribui o valor retornado por chamadas sucessivas a gen aos primeiros n elementos da sequência apontada pelo primeiro .
Declaração
A seguir está a declaração para o cabeçalho da função std :: algorithm :: generate_n () std :: algorithm.
C ++ 98
template <class OutputIterator, class Size, class Generator>
void generate_n(OutputIterator first, Size n, Generator gen);
Parâmetros
first - Saída do iterador para a posição inicial.
n - Número de valores a serem gerados.
gen - Função geradora que é chamada sem argumentos e retorna algum valor.
Valor de retorno
Nenhum
Exceções
Lança exceção se a função gen ou a atribuição de elemento ou uma operação em um iterador lança exceção.
Observe que os parâmetros inválidos causam um comportamento indefinido.
Complexidade de tempo
Linear.
Exemplo
O exemplo a seguir mostra o uso da função 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
First five random numbers are
1804289383
846930886
1681692777
1714636915
1957747793
0
0
0
0
0