#include <boost/bind.hpp>

 

纯C++风格,没有使用#include <boost/bind.hpp>

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <functional>
 4 #include <vector>
 5 
 6 class add :public std::binary_function<int, int, void>
 7 {
 8 public:
 9     void operator()(int i, int j)const
10     {
11         std::cout << i + j << std::endl;
12     }
13 };
14 
15 void main()
16 {
17     std::vector<int>myv;
18 
19     myv.push_back(11);
20     myv.push_back(23);
21     myv.push_back(34);
22 
23     for_each(myv.begin(), myv.end(), std::bind1st(add(), 10));//实现每个元素+10并输出,但不改变原有的元素
24 }

 

使用#include <boost/bind.hpp>

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <functional>
 4 #include <vector>
 5 #include <boost/bind.hpp>
 6 
 7 void add(int i, int j)
 8 {
 9     std::cout << i + j << std::endl;
10 }
11 
12 void main()
13 {
14     std::vector<int>myv;
15 
16     myv.push_back(11);
17     myv.push_back(23);
18     myv.push_back(34);
19 
20     for_each(myv.begin(), myv.end(), boost::bind(add, 13, _1));//实现每个元素+13并输出,但不改变原有的元素
21 }

 

转载于:https://www.cnblogs.com/denggelin/p/5767975.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值