乐乐

乐乐的博客园
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c++ 函数指针

Posted on 2008-11-02 17:45  带你去月球  阅读(236)  评论(0编辑  收藏  举报

如:
有一函数
void fun(void);//这是fun函数的声明
fun(){};//这是fun函数的调用
fun;//当只是函数的名字的时候就代表着函数入口的地址

这样,我们可以通过定义一个指针,然后使这个指针指向函数的入口,这样,我么就可以间接调用函数了。

具体例子

 1 int main() 
 2 {void (*p)(int n);//声明函数指针的时候,参数的个数和类型必须和被指向的函数相同 
 3 void fun(int a); 
 4 p=fun;//指针p指向fun,fun是地址,正确 
 5 (*p)(0);//通过指针调用函数,与p();等价其中0是作为函数的参数 
 6 return 0;} 
 7 
 8 void fun(int a) 
 9 {
10 
11 //TODO
12 
13 
14 



因为函数的调用是需要一定的开销的,当一个函数经常被调用的时候,如果函数只有几行,这样我们可以通过inline函数来解决函数调用开销的问题。
但是如果函数有很多行且经常调用,那么,我们可以通过函数指针来解决函数调用开销的问题

无觅相关文章插件,快速提升流量