C++11 bind函数

本文详细介绍了C++11中的bind函数,包括其作为通用函数适配器的作用,如何绑定参数,调整参数顺序,以及如何处理引用参数。bind允许开发者创建新的可调用对象,灵活地调整原始函数或成员函数的调用方式。
摘要由CSDN通过智能技术生成

介绍

标准库bind函数定义在头文件functional中,可以将bind函数看成一个通用的函数适配器,它接受一个可调用对象,并生成一个新的可调用对象来“适配”原对象的参数列表。调用bind的一般形式为:

auto newCallable = bind(callable, arg_list);

其中,newCallable 是一个可调用参数,arg_list 是一个逗号分隔的参数列表,对应于给定的 callable 参数。也就是说,当调用 newCallable 时,newCallable 会调用 callable ,并将 arg_list 中的参数传递给它。

arg_list 中的参数可能包含形如 _n 的名字,其中 n 是一个整数。这些参数是“占位符”,表示 new_Callable 的参数,它们占据了传递给 new_Callable 的参数的位置。数值 n 表示新生成的可调用对象中参数的位置: _1_2 分别为 new_Callable 的第一个、第二个参数,以此类推。

占位符都定义在一个名为placeholders的命名空间中,而这个命名空间本身定义在std命名空间中。为了使用这些占位符,两个命名空间都需要写上。如

using namespace std::placeholders;

命名空间placeholders中的内容

使用bind绑定参数

一个简单的例子,现有如下函数

bool check_size(const string& s, int sz)
{
   
	return s.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值