STL for_each

来源:互联网 发布:吊顶面积算法 编辑:程序博客网 时间:2024/05/17 17:41

一.for_each()只能配合global function和function object。

 


二.procedure based、object oriented、generics三种paradigm与for_each()搭配

1>global function

prodecebased不传入参数:for_each(ivec.begin(), ivec.end(), printElem);

prodecebased传入参数:for_each(ivec.begin(), ivec.end(), bind2nd(ptr_fun(printElem), "Element:"));

2>object oriented

重载operate()

 不传入参数:for_each(ivec.begin(), ivec.end(), printElem());

 不传入参数:for_each(ivec.begin(), ivec.end(), printElem("Element:"));

member_function与for_each()

  不传入参数:

for_each(_doorVec.begin(), _doorVec.end(), mem_fun_ref(&Door::open));//通过mem_fun_ref()这个function adapter將member function转成function object。

for_each(_doorVec.begin(), _doorVec.end(), mem_fun(&AbstractDoor::open));

传入参数:

 for_each(_doorVec.begin(), _doorVec.end(), bind2nd(mem_fun(&AbstractDoor::openDoorBy), "John"));

......

 

参考资料:

http://www.cnblogs.com/Purple_Xiapei/archive/2012/05/27/2520477.html

 

 







 


 

 

0 0