C++11——std::function

  std::function是C++11标准库的一个模板,它把函数指针的思想加以推广。函数指针只能指涉到函数,而std::function却可以指涉到任何可以调用的对象,即任何可以像函数一样可以实施调用之物。

  我们想要创建一个函数指针就必须要指定欲指涉到的函数的型别(即该指针指涉到的函数的签名),类比来看,我们想要创建一个std::function对象就必须指定欲指涉的函数的型别。这一步是通过std::function模板形参来完成的。

//声明一个函数对象func,它可以指涉到任何能用以下述签名调用的对象
bool(const std::unique_ptr<Widget>&,
	 const std::unique_ptr<Widget>&)//C++11版本的std::unique_ptr<Widget>比较函数签名

//这样定义func
std::function<bool(const std::unique_ptr<Widget>&,
				const std::unique_ptr<Widget>&)> func;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值