您的位置:首页 > 其它

bind

2016-02-16 20:51 295 查看
1.使用契机

在泛型算法谓词中,如果没有lambda的捕获列表,则需以参数形式传入一些不必要的变量,如果函数调用不止一次,则需要找到合适的方式加以解决,将函数进行适配使之可以以谓词的方式被算法调用,这是bind的主要用途。

2.auto newcallable = bind(callable,arg_list);

如图所示:



3.例:

auto g = bind(f,a,b,_2,c,_1);   //_+数字 为占位符


当调用g时,对应的参数位置

g(x,y)====>f(a,b,y,c,x)

4.绑定参数问题

因为bind绑定时参数是以拷贝的形式传递的,所以当参数有流时无法使用bind。

可以通过调用ref(os)解决,其中ref返回包含该流引用的对象,此外还有cref
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: