这个新的可调用对象将它自己的参数作为第三个和第五个参数传递给f.
f的第一个,第二个参数和第四个参数分别被绑定到给定的值a,b,c上。
传递给g的参数按参数位置绑定到占位符。...即,第一个参数绑定到_1,第二个参数绑定到_2。
因此,当我们调用g时,其第一个参数将被传递给f作为最后一个参数,第二个参数将被传递给f作为第三个参数。...实际上,这个bind调用会将
g(_1,_2)
映射为
f(a,b,_2,c,_1)
即,对g的调用会调用f,用g的参数代替占位符,再加上绑定的参数a,b和c....因此,当sort比较两个元素时,就好像调用isShorter(B,A);
绑定引用参数
默认情况下,bind的那些不是占位符的参数被拷贝到bind的返回的可调用对象中。...但是,与lambda类似,有时对有些绑定的参数我们希望以引用方式传递,或是要绑定参数类型无法拷贝,
例如,为了替换一个引用方式捕获ostream的lambda:
vector v