C++ 学习过程中可以参考http://www.cplusplus.com/reference
for_each()是一个模板函数,源码如下:
template<class InputIterator, class Function>
Function for_each(InputIterator first, InputIterator last, Function fn)
{
while (first!=last) {
fn (*first);
++first;
}
return fn; // or, since C++11: return move(fn);
}
摘自:http://www.cplusplus.com/reference/algorithm/for_each/?kw=for_each
示例1:
// for_each example
#include // std::cout
#include // std::for_each
#include // std::vector
void myfunction (int i) { // function:
std::cout << ’ ’ << i;
}
struct myclass { // function object type:
void operator() (int i) {std::cout << ’ ’ << i;}
} myobject;
int main () {
std::vector myvector;
myvector.push_back(10);
myvector.push_back(20);
myvector.push_back(30);
std::cout << “myvector contains:”;
for_each (myvector.begin(), myvector.end(), myfunction);
std::cout << ‘\n’;
// or:
std::cout << “myvector contains:”;
for_each (myvector.begin(), myvector.end(), myobject);
std::cout << ‘\n’;
return 0;
}
运行结果:
myvector contains: 10 20 30
myvector contains: 10 20 30