std::function与std::bind 函数指针
c++ function bind function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。 std::function可以绑定到全局函数/类静态成员函数(类静态成员函数与全局函数没有区别),如果要绑定到类的非静态成员函数,则需要使用std::bind。 [cpp] view plain copy #include <iostream> #include <functional> using namespace std; typedef std::function< void ()> fp; void g_fun() { cout<< "g_fun()" <<endl; } class A { public : static void A_fun_static() { cout<< "A_fun_static()" <<endl; } void A_fun() { cout<< "A_fun()" <<endl; } void A_fun_int( int i) { cout<< "A_fun_int() " <<i<<endl; } //非静态类成员,因为含有this指针,所以需要使用bind void init() { fp fp1=std::bind(&A::A_fun, this );