宝杉的博客

UNIX/LINUX;ACE;SNMP;C++
posts - 33, comments - 23, trackbacks - 0, articles - 0

函数指针

Posted on 2007-08-03 12:58 宝杉 阅读(132) 评论(0)  编辑 收藏 引用 所属分类: C++
 

声明:

先定义函数,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(不同函数地址),那么调用者将调用不同地址的函数。赋值可以发生在运行时,这样使你能实现动态绑定。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理