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 << '\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 }
Output:
myvector contains: 10 20 30 myvector contains: 10 20 30 |