- 静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。
class base{
static int func1();
int func2();
};
int (*pf1)()=&base::func1;//普通的函数指针
int (base::*pf2)()=&base::func2;//成员函数指针
- 静态成员函数不可以调用类的非静态成员。静态成员函数不含this指针,而普通成员函数默认携带this指针参数。
- 把指针函数当作形参传递给某些具有一定通用功能的模块。并封装成接口来提高代码的灵活性和后期维护的便捷性。
- 另外,有些地方必须使用函数函数指针才能完成给定的任务,如linux系统中的异步信号中断处理,当发生某一触发信号时,需要调用相应的处理函数,此时需要使用函数指针来实现。
void (*signal(int signum,void(* handler)(int)))(int);
来源:CSDN
作者:xiaoxiao落木
链接:https://blog.csdn.net/qq_28133013/article/details/104536253