1. 简单使用
#include <iostream>
#include <string>
using namespace std;
void func(string s)
{
cout << s << endl;
}
void (*pFunc)(string s);
int main()
{
func("Original Function : 1st circumstance!");
(*func)("Original Function : 2nd circumstance!");
pFunc = &func;
(*pFunc)("Function pointer : 1st circumstance!");
pFunc("Function pointer : 2nd circumstance!");
pFunc = func;
(*pFunc)("Function pointer : 3rd circumstance!");
pFunc("Function pointer : 4th circumstance!");
return 0;
}
2 . 类型定义
#include <iostream>
using namespace std;
typedef void(*pFunc)();
void myFunc()
{
cout << "Hello World!" << endl;
}
int main()
{
pFunc func;
func = &myFunc;
func();
return 0;
}
3. 使用函数指针的原因及好处:
- 有的通用函数中要涉用到另一个函数,但函数名称未定,是让用户编的, 当然要做成函数指针,
- 如果通用定积分计算,被计算函数是待定的,是由调用者确定的函数;
通用排序函数也是,比较函数与交换函数也是让用户自已编的, 这也得是函数指针