std::generate - cppreference.com
De cppreference.com
<metanoindex/>
<tbody> </tbody>
| Definido no cabeçalho <algorithm> |
||
|
|
||
Atribui a cada elemento na faixa [first, last) um valor gerado pelo objeto função dada g.
Original:
Assigns each element in range [first, last) a value generated by the given function object g.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Parâmetros
| first, last | - | a gama de elementos para gerar Original: the range of elements to generate The text has been machine-translated via Google Translate. |
| g | - | generator function object that will be called.
The signature of the function should be equivalent to the following: <tbody> </tbody>The type |
| Type requirements | ||
-ForwardIt must meet the requirements of ForwardIterator.
| ||
Valor de retorno
(Nenhum)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Complexidade
Exatamente std::distance(first, last) invocações de g() e atribuições.
Original:
Exactly std::distance(first, last) invocations of g() and assignments.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Possível implementação
template<class ForwardIt, class Generator> void generate(ForwardIt first, ForwardIt last, Generator g) { while (first != last) { *first++ = g(); } }
Exemplo
Os usos de código a seguir preenche um vetor com números aleatórios:
Original:
The following code uses fills a vector with random numbers:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
#include <algorithm> #include <iostream> #include <cstdlib> int main() { std::vector<int> v(5); std::generate(v.begin(), v.end(), std::rand); // Using the C function rand() std::cout << "v: "; for (auto iv: v) { std::cout << iv << " "; } std::cout << "\n"; }
Saída:
v: 52894 15984720 41513563 41346135 51451456
Veja também
atribui um intervalo de elementos de um certo valor Original: assigns a range of elements a certain value The text has been machine-translated via Google Translate. (modelo de função) [edit] | |
guarda o resultado de aplicações de N de uma função Original: saves the result of N applications of a function The text has been machine-translated via Google Translate. (modelo de função) [edit] | |