1: //for_each1a.cpp 3: #include <iostream> 4: #include <vector> 5: #include <algorithm> 6: using namespace std; 8: //Note that for_each() requires a void function parameter. 9: void DoCube(int& x) { x = x*x*x; } 10: void DoDisplay(int& x) { cout << x << " "; } 12: int main() 13: { 14: cout << "\nThis program illustrates the use of the STL for_each() " 15: "algorithm to find\nthe cube of each value in a vector of " 16: "integers. We also use the for_each()\nalgorithm to display the " 17: "values in the vector."; 18: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 20: int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 21: vector<int> v(a, a+10); 23: cout << "\nHere are the initial contents of v:\n"; 24: for_each(v.begin(), v.end(), DoDisplay); 25: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 27: cout << "\nAnd here are the cubes of the values in v:\n"; 28: for_each(v.begin(), v.end(), DoCube); 29: for_each(v.begin(), v.end(), DoDisplay); 30: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 31: }