使用bind可以将函数从类成员变量中提取出来
这里以结构体的类成员函数作为说明
#include<iostream> #include<functional> using namespace std; using namespace std::placeholders; struct MyStruct{ void add1(int a) { cout << a << endl; } void add2(int a, int b) { cout << a << endl; } void add3(int a, int b, int c) { cout << a << endl; } }; int main() { MyStruct my1; auto fun1 = bind(&MyStruct::add1, &my1, _1); //表示一个参数 fun1(1); auto fun2 = bind(&MyStruct::add2, &my1, _1, _2); //表示一个参数 fun2(1, 2); auto fun3 = bind(&MyStruct::add3, &my1, _1, _2, _3); //表示一个参数 fun3(1, 2, 3); }