Item 14. Function Pointers
函数指针的声明:
void (*fp)(int); //括号不能省略,去掉则为返回类型为void*
使用:
1、当初始化或赋值函数指针A的地址给函数指针B,无需显式的取函数的地址,编译器会为你做:
extern void h( int );
fp = h; // OK, 指向 h
fp = &h; // OK
2、当调用函数指针时,也无需提领,编译器会为你做:
(*fp)(12); // OK 显式提领
fp(12); // OK 隐式提领
3、没有通用的函数指针可以指向任意类型的函数
非静态成员函数的地址不是指针,因此无法把函数指针指向它
4、函数指针经常用于回调技术中
5、当指向inline函数时,inline修饰符已经失效了