Apply function to range
Applies function f to each of the elements in the range [first,last).
The behavior of this template function is equivalent to:
template<class InputIterator, class Function> Function for_each(InputIterator first, InputIterator last, Function f) { while ( first!=last ) f(*first++); return f; } |
Parameters
- first, last
- Input iterators to the initial and final positions in a sequence. The range used is [first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last. f
- Unary function taking an element in the range as argument. This can either be a pointer to a function or an object whose class overloads operator().
Its return value, if any, is ignored.
Return value
The same as f.
Example
// for_each example #include <iostream> #include <algorithm> #include <vector> using namespace std; void myfunction (int i) { cout << " " << i; } struct myclass { void operator() (int i) {cout << " " << i;} } myobject; int main () { vector<int> myvector; myvector.push_back(10); myvector.push_back(20); myvector.push_back(30); cout << "myvector contains:"; for_each (myvector.begin(), myvector.end(), myfunction); // or: cout << "/nmyvector contains:"; for_each (myvector.begin(), myvector.end(), myobject); cout << endl; return 0; } |
Output:
myvector contains: 10 20 30 |
本文详细介绍了C++标准模板库中的for_each函数,该函数可以将指定的函数应用于容器中每个元素。文中通过具体示例展示了如何使用普通函数和函数对象来实现这一过程。

被折叠的 条评论
为什么被折叠?



