转接自STL算法
for_each() 对区间里每个元素执行相应操作
注: for_each()接受一个操作,操作可改动所接受实参
所以该实参必须以by reference方式传递
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// for_each() 对区间里每个元素执行相应操作
//注: for_each()接受一个操作,操作可改动所接受实参
//所以该实参必须以by reference方式传递
void test(vector<int> & vec)
{
auto f = [](int& value)
{
value = value * value;
};
for_each(vec.begin(), vec.end(), f);
}
int main()
{
vector<int> vec{ 1,2,3,4,5,6,7,8,9 };
for (auto &v : vec)
cout << v << ends;
cout << endl;
test(vec);
for (auto &v : vec)
cout << v << ends;
system("pause");
return 0;
}