STL的bind1st,bind2nd,mem_fun,mem_fun_ref使用示例

本文通过示例展示了STL中bind1st, bind2nd, mem_fun及mem_fun_ref的功能与用法,这些绑定器可以用于将自由函数或成员函数转化为适配器形式,便于在算法中使用。

// STL的bind1st,bind2nd,mem_fun,mem_fun_ref使用示例
// VC2008

#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <functional>


int Sub(int x, int y)
{
 return x-y;
}

class Add
{
public:
 int add100(int x)
 {
  return x + 100;
 }
};


int _tmain(int argc, _TCHAR* argv[])
{
 std::cout << "100-200 = " << (std::bind1st(std::ptr_fun(Sub), 100))(200) << std::endl;
 std::cout << "200-100 = " << (std::bind2nd(std::ptr_fun(Sub), 100))(200) << std::endl;

 Add add;
 std::cout << "200+100 = " << (std::mem_fun(&Add::add100))(&add, 200) << std::endl;
 std::cout << "200+100 = " << (std::mem_fun_ref(&Add::add100))(add, 200) << std::endl;
 return 0;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值