网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月26日漏签0天
c语言吧 关注:798,816贴子:4,356,603
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 22回复贴,共1页
<<返回c语言吧
>0< 加载中...

如何将函数指针数组批量处理指向多个函数

  • 只看楼主
  • 收藏

  • 回复
  • 贴吧用户_5U8NtPX
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我声明了四个函数print1,print2,print3,print4。
然后又声明了一个函数指针数组
请问可以使用循环将函数指针数组中的指针依次指向这四个函数吗,而不是一个一个地去赋值
下面这段代码可以用循环来简化吗


  • 草酱
  • 彩虹面包
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C++可以用模板吧,C无能为力


2025-06-26 19:16:58
广告
  • GTA小鸡
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是在凭空创造需求,你这样写的意义是什么?
假设这4个函数的函数名彼此无关,那很显然,除了逐个赋值给指针数组以外没有别的办法。最多写个宏简化一下重复过程。
但现实中没有这种凭空产生的需求,这些函数可能可以重构为重载函数,或者通过模板元编程生成,解决方案又会不一样。


  • GTA小鸡
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
单就你写的例子而言,完全可以这样等价替换

别说4个函数,生成400个函数都行


  • 逐个按
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在定义指针数组时可以直接复制吧,可以试试


  • 万事皆有因果
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
把那些函数封装到一个dll里应该可以的,专门做个函数从DLL里按照函数名的规律翻出来你弄的那些函数入口地址,然后回传给调用者就行了。


  • 哀高丘兮无女
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先你这四个函数只是名字类似,实际实现里可以说没有一点关系,在汇编层面上函数入口没有规律性。可以把这些函数封装到一个更高级的结构里,比如上面提到的dll或者元函数,但是没有意义,和你这样放进一个指针数组没有本质区别


  • ler123
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

----本贴已封锁,请勿回复----
----本贴已封锁,请勿回复----


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 22回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示