宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

全部展开

Bind是一组用于函数绑定的模板。绑定函数时,可以指定部分或全部参数,也可以不指定任何参数,还可以调整每个参数的顺序。对于未指定的

固定参数可以用占位符_1、_2和_3来表示。-1表示有界函数的第一个参数,_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(九个_arguments,_9,_2,_1,_6,_3,_8,_4,_5,_7 (i1,i2,i3,i4,i5,i6,i7,i8,i9);

3bind(九个_arguments,i9,i2,i1,i6,i3,i8,_1,_2,_1) (i8,i9);

4bind(nine_arguments,i9,i2,i1,i6,i3,i8,i4,i5,i7)();

在上面的五个例子中:

1是一般功能情况。

2表示对于函数1,我们改变参数的顺序。您会看到九个参数,_ 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)

中的第九个参数,后面依次是相应的。最终相当于调用了函数nine _ arguments (i3,I2,i5,i7,i8,i4,i9,i6,i1)。

在理解2的基础上,3相当于九个_自变量(i3、I2、i5、i7、i8、i4、i8、i9、i8)

应该是这样的。