设为首页 加入收藏

TOP

C/C++:函数指针
2013-04-10 11:53:39 来源: 作者: 【 】 浏览:296
Tags:C/C 函数 指针

  函数指针:

  函数名就是函数操作代码在内存中的起始地址,就像数组名是数组在内存中的起始地址。

  所以使用函数指针时,直接传入函数名就什么了。函数指针也是C中实现多态的一种方法。

  int x2(int x) { return x * x;}

  int x3(int x) {return x * x * x;}

  void func(int (*pf)(int), int x) { cout << pf(x) << endl;}

  == void func(int (*pf)(int), int x) { cout << (*pf)(x) << endl;}

  func(x2, 4); // 16

  func(x3, 4); // 64

  void *func(int* (*pf)(int*, const int**, float, char * const), double *); // 呵呵,头晕吧

  void (*pf )(int); // 表示pf是10个函数指针的数组

  函数指针的一个用法是建立一个菜单驱动程序:

  用户从菜单中选择一个选项,每个选项由不同的函数提供服务,每个函数的指针存放在函数指针数组中。用户选项作为数组下标,数组中的指针用于调用这个函数。

  void (*pf )(int) = {func1, func2, func3};

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++的内联函数应放在哪 下一篇C/C++:Effective C++

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: