类似的,如果一个操作需要很多语句才能完成,通常使用函数更好
如果lambda的捕获列表为空,通常可以用函数来代替它。
但是,对应捕获局部变量的lambda,用函数来替换它就不是那么容易了。...例如:我们用在find_if调用中的lambda比较一个string和一个给定大小。...这个新的可调用对象将它自己的参数作为第三个和第五个参数传递给f.
f的第一个,第二个参数和第四个参数分别被绑定到给定的值a,b,c上。
传递给g的参数按参数位置绑定到占位符。...实际上,这个bind调用会将
g(_1,_2)
映射为
f(a,b,_2,c,_1)
即,对g的调用会调用f,用g的参数代替占位符,再加上绑定的参数a,b和c....因此,当sort比较两个元素时,就好像调用isShorter(B,A);
绑定引用参数
默认情况下,bind的那些不是占位符的参数被拷贝到bind的返回的可调用对象中。