您的位置:首页 > 其它

for_each算法

2017-03-22 08:54 288 查看
1)循环函数,for_each(first,end,function)

2)遍历容器元素,对每个元素执行相同的函数function操作

      即表示[first,end)区间内的每个元素带入function中

3)function必须有且只有一个参数,且参数类型与向量模板类型一致

4)function可用全局函数或函数对象

#include "stdafx.h"
#include <algorithm>
#include <vector>
using namespace std;

/*遍历容器元素,对每个元素执行相同的函数操作
循环函数 for_each(first,end,function)
表示 [first,end)区间内的每个元素带入function中;
function必须有且只有一个参数,且参数类型与向量的模板类型一致
*/

//全局函数
void printCube(int n)
{
printf("%d^3=%d\t",n,n*n*n);
}

//函数对象
class PrintInfor
{
public:
void operator()(int x)
{
printf("%d^3=%d\t",x,x*x*x);
}
};

//使用样例
int _tmain(int argc, _TCHAR* argv[])
{
vector<int> v;

for(int i=0;i<4;i++)
v.push_back(i+1);

//全局函数调用
//for_each(v.begin(),v.end(),printCube);

//函数对象调用
PrintInfor p=for_each(v.begin(),v.end(),PrintInfor());

printf("\n");

getchar();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  for_each