中易网

c++的函数指针怎么写?

答案:4  悬赏:0  
解决时间 2021-02-15 04:13
c++的函数指针怎么写?
最佳答案
如:
有一函数
void fun(void);//这是fun函数的声明
fun(){};//这是fun函数的调用
fun;//当只是函数的名字的时候就代表着函数入口的地址

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

具体例子
int main()
{void (*p)(int n);//声明函数指针的时候,参数的个数和类型必须和被指向的函数相同
void fun(int a);
p=fun;//指针p指向fun,fun是地址,正确
(*p)(0);//通过指针调用函数,与p();等价其中0是作为函数的参数
return 0;}

void fun(int a)
{}

因为函数的调用是需要一定的开销的,当一个函数经常被调用的时候,如果函数只有几行,这样我们可以通过inline函数来解决函数调用开销的问题。
但是如果函数有很多行且经常调用,那么,我们可以通过函数指针来解决函数调用开销的问题
全部回答
一楼的 有时你看到的不一定就是正确的 你返回局部数组的话 首地址是可以返回 不过指向的内容已经被释放了 也就是你返回了一个野指针 也许你试的时候 会得到原数组的值 那是因为那段空间被释放了只是说可以被重新申请使用 而标准并没有规定必须清0 一旦这段内存被重新使用 你的程序会出错 你可以返回局部堆指针 就是new那种 堆指针需要手动才能释放的 要记得delete 或者你在函数外定义数组 传参给函数 再返回该地址 或者你把局部数组定义成static的 使其生命周期全局有效
是不是返回值是指针的函数; 如果是这个,简单; 函数名前面写上你要得到的指针类型, 函数体内,操作自己搞定,注意最后 return后面是你要返回的指针
typedef void(*LPFUNCTION1) (bool,bool); LPFUNCTION1 func; void function( bool b1, bool b2); func = function;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问,卡西欧日语电子词典在日本买多少钱?哪
霍金:轮椅上的勇士
求Love The Way You Lie此歌改编版本 男声独
铜陵市承接产业转移示范园区管委会地址在什么
求我的世界pe0.10.5透视矿物材质包,能用的采
给公司员工发放什么礼品作为福利
宝记老友粉地址有知道的么?有点事想过去
黑莓Priv blackberry services 这个服务怎么
WOW付费转服老说没有可选择的大区是怎么回事
龙江宾馆地址在哪,我要去那里办事
哪个品牌的自动补胎液比较好
关于衬衫的问题
我有一套安置房有买了一套商品房会上税吗
用格式工厂字幕转换不成功
小米手机3,屏幕摔坏了该怎么办?去哪换原装
推荐资讯
虚拟机雨林木风系统安装过程中出现的问题
安徽动漫频道 为什么没有了?
为什么网线拉上之后前几天不能上网
谢家集区淮南格力电器全国4S专卖店(华联商厦
我在广州黄埔夏园、想去长隆水上乐园玩。我应
店小算可以绑定多个店面吗?
兴隆县承德御鹿山庄在什么地方啊,我要过去处
在北京打工一般是多少钱一个月?
江苏五保一金中什么险是不能断的
鹅鹅鹅古诗还有什么迷古诗
UL认证应用于什么国家和地区
法国电影 嘎纳电影 love百度云
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?