C++ 函数指针(初阶)

打印 上一主题 下一主题

主题 918|帖子 918|积分 2754

函数的地址是存储其机器语言代码的内存的开始地址。可以编写将另一个函数的地址作为参数的函数,它允许在不同的时间传递不同函数的地址,这意味着可以在不同的时间使用不同的函数。
1 函数指针类型

声明指向函数的指针时,必须指定函数的返回类型以及函数的特征标(参数列表),可以首先编写这种函数的原型,然后用 (*pf) 替换函数名,这样 pf 就是这类函数的指针。以下面的程序为例,要获取函数的地址,只需使用函数名即可(后面不跟参数),这与数组地址有几分相似,函数指针 pf 的类型是 double (*)(int),由于 pf 是指向 pam() 函数的指针,因此 (*pf) 是函数,使用函数指针调用函数时,C++ 将 pf 与 (*pf) 看作是等价的(虽然前者是函数指针,后者是函数),将 pf() 用作函数调用与将 (*pf)() 用作函数调用,效果一样。
[code]//函数原型double pam(int);//声明对应的函数指针double (*pf)(int);//赋值,也可在声明时进行pf = pam;//使用函数指针调用函数,以下几种方式等效double x = pam(4);   //方式一double x = (*pf)(4); //方式二double x = pf(4);    //方式三//输出函数地址cout
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表