generate() Function in C++

This C++ program demonstrates the generate() algorithm which saves the values generated by a function into a container. The program utilizes the generate() algorithm which takes three parameters – iterator to the beginning of the container, iterator to the end of the container and the generating function.

Here is the source code of the C++ program which demonstrates the generate() algorithm. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.

  1. /*
  2.  * C++ Program to Demonstrate the generate() Algorithm
  3.  */
  4. #include <iostream>
  5. #include <algorithm>
  6. #include <iterator>
  7. #include <vector>
  8. using namespace std;
  9.  
  10. static int i = 1; 
  11.  
  12. int ret() {
  13. 	return i++;
  14. }
  15.  
  16. int main() {
  17.     vector<int> v(10);
  18.  
  19.     std::generate(v.begin(), v.end(), ret);
  20.     std::cout << "Vector v : ";
  21.     std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
  22.     std::cout << "\n";
  23. }

$ gcc test.cpp
$ a.out
Vector v : 1 2 3 4 5 6 7 8 9 10

Sanfoundry Global Education & Learning Series – 1000 C++ Programs.

advertisement
advertisement
If you wish to look at all C++ Programming examples, go to C++ Programs.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.