for_each循环操作

来源:互联网 发布:电脑认证淘宝开店时间 编辑:程序博客网 时间:2024/05/16 09:14

for_each(pos_begin,pos_end,func )  func可以是一个函数 也可以是一个对象



#include <algorithm>#include  <iostream>using namespace std;void add10(int& element){element +=10;}void print(int element){cout << element << ' ';}class add{int delta;public:add(int d):delta(d) {}void operator()(int& element){element += delta;}};/*//自定义的foreachtemplate <typename Iter,typename Func>void foreach(Iter ib,Iter ie, Func f){while(ib != ie){f(*ib);ib ++;}}*/int main(){int a[5] = {11,12,13,14,15};/*for_each *///1 使用函数 函数原型  func(int& a)for_each(a,a+5,add10);for_each(a,a+5,print); cout << endl;//2 函数不自由。 使用匿名对象和operator(int &a) ,//创建匿名对象时传入要加的值,调用()运算符时传入被操作数的引用 for_each(a,a+5,add(1));for_each(a,a+5,print); cout << endl;/*//3 自己写了一个foreach,和for_each有相同的功能foreach(a,a+5,add(10));foreach(a,a+5,print); cout << endl;*/}


0 0
原创粉丝点击