std::generate is an STL algorithm, which is used to generate numbers based upon a generator function, and then, it assigns those values to the elements in the container in the range [first, last).
The generator function has to be defined by the user, and it is called successively for assigning the numbers.
Now, there can be a scenario, where we want to assign values only to the first n elements, for that we have another STL algorithm std::generate_n, which has the following syntax:
OutputIterator generate_n (OutputIterator first, Size n, Generator gen); first: Output iterator pointing to the beginning of the container. n: No. of elements to be assigned a value, using generator function. gen: A generator function for generating the values. Returns: It doesnot have a void return type like std::generate, but, in fact, it returns an iterator pointing to the element that follows the last element whose value has been generated.
1 2 3 4 5 6 7 8 9 10
This article is contributed by Mrigendra Singh. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.