目录
课程信息
7.4 function pointers
7.5 递归函数(Recursive functions)
课程信息
作者:于仕琪(南方科技大学计算机系副教授/opencv中国团队负责人)
视频地址:快速学习C和C++,基础语法和优化策略,学了不再怕指针(南科大计算机系原版)_哔哩哔哩_bilibili
持续更新中。。。。。。
7.4 function pointers
有什么用:可以非常灵活的使用不同的函数,让该指针指向哪个函数就使用哪个函数,函数指针可以作为函数/类的输入参数,特别是回调函数,比if/else判断调用哪个函数更灵活、优雅、方便
是什么:函数指针是一个指向函数的指针,函数指针具体是指向了函数执行的指令的地址
怎么使用:
1、定义:上面第三行代码表示,定义了一个函数指针norm_ptr,该函数指针指向的函数需要满足的条件为:输入参数类型为float,float,返回值类型为float,只要满足这样的函数,该指针就可以指向它
2、赋值:两种赋值方式,直接用函数名赋值,或对函数取地址
3、调用:两种调用方式:直接像调用函数一样调用,或使用(*norm_ptr)
4、作为输入参数的使用
对于不同输入数据的排序,不同的规则,可以用同一个接口
函数引用
注意定义时为(&norm_ref),且因为是引用,必须在定义时就对其进行初始化
7.5 递归函数(Recursive functions)
函数自己调用自己:需要正确设置终止条件,防止无限套娃,无限套娃的话,会把栈爆掉
简单示例
优缺点: