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++中用函数指针时,从来都反射性的去用静态成员函数, 却从来都没想到原来普通的成员函数也是可以使用函数指针的。
仔细分析一下, 原……