如何用指向指针函数的调用指针替换switch

 在编程中if-else和switch-case是很常见的分支结構,很少在程序中不用这些控制语句但是不能否认,在一些场景下由于分支结构过分长,导致代码不美观且不容易维护在《重构》┅书中,也将过长的switch语句当做了“坏味道”例如当我们处理从网络接收到的数据时,往往会由于种类太多而写一长段的if-else或者switch-case小弟就曾經在读别人处理网络数据的代码时,发现有50多条的if-else语句导致函数代码非常长。因此小弟就在网上看各位高人的解决办法有很多是支持使用if-else的,也有很多反对的对于反对的,也有各种的解决方案例如使用宏屏蔽if-else或者switch代码,使用函数指针列表等等小弟在这里只介绍两種方法,一是使用函数指针列表二是使用多态。

       1、函数指针列表使用一个结构体将函数指针和一个标示指针的字符串封装起来,然后通过匹配相应的字符串执行相应的函数。

}
函数指针的调用问题 是直接 用 函數指针名 还是 (*加函数名)

大多数编译器都支持这两种写法p(1,2); 实际上是简略的写法。(*p)(1,2);能更好的体现这是一个函数指针

函数地址,函数名嘟可以调用

函数指针也实指针存的是指针函数的调用入口地址,前两种写法是编译器内部实现的问题

;问题解决后请采纳答案

抄袭、複制答案,以达到刷声望分或其他目的的行为在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

}

我要回帖

更多关于 指针函数的调用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信