void func(void){} //函數指針 void(*func_ptr)(void) = &func; func_ptr();
struct Foo { void operator()(void){ } }; //仿函數 Foo foo; foo();
struct A { int a_; void mem_func(void) { //... } }; void(A::*mem_func_ptr)(void) = &A::mem_func; //類成員函數指針 int A::*mem_obj_ptr = &A::a_; //類成員指針 A aa;
(aa.*mem_func_ptr)(); aa.*mem_obj_ptr = 123;