function和bind

c++新特性:function/bind

function

#include<function>

目的:

函数对象包装器

为函数提供了一种容器

支持4种函数的封装

  • 普通函数
std::function<<int>> f = test;  //test是函数名
  • 匿名函数
std::function<<int>> f = [](int n)->int{
    cout<< n <<endl;
    return n;
}
  • 类的成员函数
std::function<<CTest*,int>> f = &CTest::MyTest;		//CTest是类名 
  • 仿函数
std::function<int(CTest*,int)> f = &CTest::operator();		//CTest中重载了()

bind

void add(int a,int b,int c)
{cout<<a<<b<<B}
auto a =std::bind(add,1,2,3);
a()															=				//123
    
auto a = std::bind(add,std::placeholders::_2,std::placeholders::_1,c)
a(1,2)																		//213
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值