网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月13日
漏签
0
天
c语言吧
关注:
798,662
贴子:
4,348,081
看贴
图片
吧主推荐
视频
游戏
22
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
如何将函数指针数组批量处理指向多个函数
只看楼主
收藏
回复
贴吧用户_5U8NtPX
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我声明了四个函数print1,print2,print3,print4。
然后又声明了一个函数指针数组
请问可以使用循环将函数指针数组中的指针依次指向这四个函数吗,而不是一个一个地去赋值
下面这段代码可以用循环来简化吗
草酱
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
C++可以用模板吧,C无能为力
GTA小鸡
吧主
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这是在凭空创造需求,你这样写的意义是什么?
假设这4个函数的函数名彼此无关,那很显然,除了逐个赋值给指针数组以外没有别的办法。最多写个宏简化一下重复过程。
但现实中没有这种凭空产生的需求,这些函数可能可以重构为重载函数,或者通过模板元编程生成,解决方案又会不一样。
GTA小鸡
吧主
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
单就你写的例子而言,完全可以这样等价替换
别说4个函数,生成400个函数都行
逐个按
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在定义指针数组时可以直接复制吧,可以试试
万事皆有因果
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
把那些函数封装到一个dll里应该可以的,专门做个函数从DLL里按照函数名的规律翻出来你弄的那些函数入口地址,然后回传给调用者就行了。
哀高丘兮无女
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先你这四个函数只是名字类似,实际实现里可以说没有一点关系,在汇编层面上函数入口没有规律性。可以把这些函数封装到一个更高级的结构里,比如上面提到的dll或者元函数,但是没有意义,和你这样放进一个指针数组没有本质区别
ler123
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
----本贴已封锁,请勿回复----
----本贴已封锁,请勿回复----
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示