for_each(c++11)

http://www.cplusplus.com/reference/algorithm/for_each/

1 template<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 }
 1 // for_each example
 2 #include <iostream>     // std::cout
 3 #include <algorithm>    // std::for_each
 4 #include <vector>       // std::vector
 5 
 6 void myfunction (int i) {  // function:
 7   std::cout << ' ' << i;
 8 }
 9 
10 struct myclass {           // function object type:
11   void operator() (int i) {std::cout << ' ' << i;}
12 } myobject;
13 
14 int 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 << '
';
23 
24   // or:
25   std::cout << "myvector contains:";
26   for_each (myvector.begin(), myvector.end(), myobject);
27   std::cout << '
';
28 
29   return 0;
30 }

Output:

myvector contains: 10 20 30
myvector contains: 10 20 30
原文地址:https://www.cnblogs.com/guxuanqing/p/6080970.html