函数指针有什么优势?

来源:4-10 再论C语言指针

chen8888

2018-12-12

    当调用函数的时候,如果用函数指针,需要先定义一个和函数返回值和形参类型相同的函数指针,然后再调用指针,如果想调用别的函数,如果返回值和形参有一点不同都需要再定义一个函数指针,即使两个函数返回值和形参相同,也需要重新赋值,这样代码阅读起来就很费劲了,需要时刻注意函数指针的指向;倒不如直接调用函数本身来得实在,清晰明了,调用了哪个就是哪个,不需要关心太多。
    请问老师,这样看来的话,函数指针完全没有优势呀;我想问的是,函数指针的优势是什么?
    我也思考了一下,是不是,因为通过函数指针,省去了内存寻址这一过程,效率上会提高点呢???
写回答

1回答

李超

2018-12-12

函数指针可以实现C++中我多态。那你可以根据不同的场景给函数指针赋值。这样,它就可以根据不同的场景跳到不同的逻辑去了。但对于上层来说,它看到的函数名还是一样的。也就是上层接口调用的不变,但由于场景或参数的变它,它会走不同的逻辑。不知我是否描述清楚了。

0
1
chen8888
有点懵逼;我纠结的是在C中,直接调用函数明明很直观,为什么要费事用函数指针这个逆天的东西呢?
2018-12-12
共1条回复

经典再升级-FFmpeg5.0核心技术精讲,打造音视频播放器

学好FFmpeg核心技术,做高效,高薪,有竞争力的音视频工程师

2726 学习 · 814 问题

查看课程