您的位置首页生活百科

C++ bind函数

C++ bind函数

的有关信息介绍如下:

C++ bind函数

bind是一组用于函数绑定的模板。在对某个函数进行绑定时,可以指定部分参数或全部参数,也可以不指定任何参数,还可以调整各个参数间的顺序。对于未指定的参数,可以使用占位符_1、_2、_3来表示。-1表示绑定后的函数的第1个参数,_2表示绑定后的函数的第2个参数,其他依次类推。 bind可以绑定到普通函数、函数对象、类的成员函数和类的成员变量。先介绍最简单的这种试试理解。 普通函数1 void nine_arguments(int i1,int i2,int i3,int i4,int i5,int i6,int i7,int i8,int i9); int i1=1, i2=2, i3=3, i4=4, i5=5, i6=6, i7=7, i8=8, i9=9;2bind(nine_arguments,_9,_2,_1,_6,_3,_8,_4,_5,_7 (i1,i2,i3,i4,i5,i6,i7,i8,i9);3bind(nine_arguments,i9,i2,i1,i6,i3,i8,_1,_2,_1) (i8,i9);4bind(nine_arguments, i9,i2,i1,i6,i3,i8,i4,i5,i7) ();上述5个例子中:1是普通函数形势2是指,对1这个函数,我们更换其中参数的顺序,你看nine_arguments,_9,_2,_1,_6,_3,_8,_4,_5,_7,后面跟的第一个指定的占位符是9,所以意思是,对后面括号里的第一个参数i1,把他的值赋给原函数void nine_arguments(int i1,int i2,int i3,int i4,int i5,int i6,int i7,int i8,int i9)里的第9个参数,后面的依次对应。最终等价于调用函数nine_arguments(i3,i2,i5,i7,i8,i4,i9,i6,i1)理解2的基础上,3等价于nine_arguments(i3,i2,i5,i7,i8,i4,i8,i9,i8)应该是这样。。