1// for_each example
2#include <iostream> // std::cout
3#include <algorithm> // std::for_each
4#include <vector> // std::vector
5
6void myfunction (int i) { // function:
7 std::cout << ' ' << i;
8}
9
10struct myclass { // function object type:
11 void operator() (int i) {std::cout << ' ' << i;}
12} myobject;
13
14int main () {
15 std::vector<int> myvector;
16 myvector.push_back(10);
17 myvector.push_back(20);
18 myvector.push_back(30);
19
20 std::cout << "myvector contains:";
21 for_each (myvector.begin(), myvector.end(), myfunction);
22 std::cout << '\n';
23
24 // or:
25 std::cout << "myvector contains:";
26 for_each (myvector.begin(), myvector.end(), myobject);
27 std::cout << '\n';
28
29 return 0;
30}
1for_each( InputIt first, InputIt last, UnaryFunction f );
2//Example
3vector<int> v{ 1, 2, 3, 4, 5 };
4for_each(v.begin(), v.end(), [](int i) { cout<<i<<" "<<endl; });
5
1template<class InputIterator, class Function>
2 Function for_each(InputIterator first, InputIterator last, Function fn)
3{
4 while (first!=last) {
5 fn (*first);
6 ++first;
7 }
8 return fn; // or, since C++11: return move(fn);
9}