bind 函数在头文件 functional中
调用bind的一般形式:
auto newCallable = bind (callable, arg_list);
newCallable为一个新可调用对象,callable为原可调用对象,当调用newCallable时,会调用callable并传递arg_list参数。
arg_list参数
参数列表包含 _n 占位符和其他参数,_n为新可调用对象的参数,其他为原调用对象的参数,占位符定义在std::placeholders命名空间中。
auto g = bind (f,a,b,_2,c,_1); //g是有两个参数的可调用对象
g (_1,_2); //将g的两个参数传递给f调用执行
假定调用 g(x,y),则会调用f(a,b,y,c,x)
绑定引用参数
使用ref或cref来绑定,cref会创建一个const引用。