函数指针

 

声明:

先定义函数,void print(string str);

声明一个函数指针,void ( *p )( string ) = NULL;

指向copy函数,p = & print; 或 p = print;

调用指针函数,p( “hello” );

 

可以把多个函数放在一个指针数组里,然后通过数组对应指针方便调用函数。

例子:Diary files\C++exams\pointer_func

 

动态绑定一个函数

void caller(void(*ptr)())

{

ptr();             /* 调用ptr指向的函数 */

}

void func();

int main()

{

p = func;

caller(p); /* 传递函数地址到调用者 */

}

如果赋了不同的值给p(不同函数地址),那么调用者将调用不同地址的函数。赋值可以发生在运行时,这样使你能实现动态绑定。

你可能感兴趣的:(函数指针)