C++的函数指针

今天在公司看C++代码时看到了一段很新奇的用法, 回来剖析了一下, 感觉虽然原理很简单还是值得记录一下的。 代码大概是这个样子的: class test { public: void a1(){printf("test::a1\n");}; } int main() { test *t = new test(); void (test::*a)(void); a = &test::a1; (t->*a)(); } 以前在C++中用函数指针时,从来都反射性的去用静态成员函数, 却从来都没想到原来普通的成员函数也是可以使用函数指针的。 仔细分析一下, 原……