当前位置: 首页 > news >正文

函数指针的初级学习

函数指针

函数指针是什么?

函数指针即为结合函数和指针,让函数也存在地址,并且让函数指针来存储函数的地址

函数指针有什么用?

注:(AI生成,仅供参考,目前我还没有用到函数指针)

  1. 灵活切换执行逻辑:不用修改核心代码,只需更换函数指针指向的函数,就能执行不同的逻辑(比如同一个计算框架,切换加法 / 减法 / 乘法函数)。
  2. 实现回调函数:让一个通用函数(如排序、遍历函数)能调用你自定义的函数(比如 qsort 传入自定义比较规则),这是函数指针最常用的场景。
  3. 解耦代码逻辑:把 “主流程” 和 “具体操作” 分开,主代码不用依赖具体函数,比如框架代码不用关心你写的业务函数,只通过指针调用即可,更易维护。
  4. 适配底层 / 框架需求:很多 C/C++ 系统函数、底层框架(如操作系统 API、硬件驱动)需要用函数指针接收用户自定义的逻辑,是实现 “自定义扩展” 的基础。

函数指针的用法

假设定义一个加法函数

int add(int a,int b){return a+b;}

创建变量方法(假设变量叫做fun_ptr)

int(fun_ptr)(int,int);      //函数返回值类型(函数指针名称)(参数类型1,参数类型2)
fun_ptr=add                 //函数名即为首地址,与&add效果一样,本质是获取函数地址

调用函数指针的两种方法

  1. 直接调用
cout<<fun_ptr(2,3);

输出:

5
  1. 解引用后调用
cout<<(*fun_ptr)(2,3);

输出:

5

运用函数指针

下面这个计算机即为函数指针的运用

#include<iostream>
using namespace std;int add(int a, int b) {return a + b;
}int subtract(int a, int b) {return a - b;
}int multiply(int a, int b) {return a * b;
}int divide(int a, int b) {if (b == 0) {cout << "除数不能为0!" << endl;return 0;}return a / b;
}int main() {int n;cout << "该程序为计算器,输入1为加法,2为减法,3为乘法,4为除法(取整)"<<endl<<"请输入运算方法:";cin >> n;int(*fun_ptr)(int, int)=nullptr;switch (n) {case 1:fun_ptr = add; break;case 2:fun_ptr = subtract; break;case 3:fun_ptr = multiply; break;case 4:fun_ptr = divide; break;default:cout << "输入错误!"; return 1;}int a, b;cout << "请输入第一个数字:";cin >> a;cout << "请输入第二个数字:";cin >> b;cout << "运算结果为:" << (*fun_ptr)(a, b);
}
http://www.jsqmd.com/news/298392/

相关文章:

  • 2026年第一季度专业的长沙GEO运营团队哪家权威
  • 2026 年1月 geo 优化公司标杆企业观察:技术创新驱动下的增长赋能能力解析
  • 新手如何用Python调用中转API搭建ChatGPT聊天应用?
  • 面试官:Git 如何撤回已 Push 的代码?问倒一大片。。。
  • 抖音代运营源头厂家推荐,2026年合作的不二之选,短视频代运营/抖音推广/短视频获客,抖音代运营老牌公司哪家好
  • 瞧瞧别人家的优惠券过期方案,那叫一个优雅!
  • 2026年1月geo优化服务商Top10:从本地化优化到全域增长的核心竞争力
  • 学长亲荐10个一键生成论文工具,自考本科毕业论文轻松搞定!
  • 2026专业的通过式抛丸机公司推荐,哪个口碑好?
  • 探讨美酒瑶商贸评价如何,详细了解其合作品牌情况
  • 2026年专业的宣传片拍摄企业排名,南昌地区哪家好
  • 2026年实力强的叉车租赁公司排名,尚雅机械值得关注
  • 2026年长沙短视频运营服务商深度评测与选型指南
  • 2026年北京热门旅行社盘点,启程国际旅行社国内游线路多不多?
  • 2026年长沙短视频精准引流服务商综合评测与选型指南
  • 2026上半年长沙IP打造机构综合实力榜与深度解析
  • 2026年成都地区整体无缝旗杆制造实力厂商综合评估
  • 2026年美妆和消费品行业DeepSeek优化服务商选择指南:从技术到效果选型
  • 探寻2026年上料机优选:连续上料技术哪家强?金属网带/重型链板/气泡清洗机/Z型提升机,上料机制造企业怎么选择
  • 2026四川值得关注的鼓风旗杆厂家Top5推荐
  • 2026年上半年长沙矩阵运营公司实力盘点与精选推荐
  • 2026年陕西靠谱的热轧钢球供应商,山东金池来图定制超厉害!
  • 2026年行业内可靠的沸石转轮订做厂家口碑排行榜,沸石转轮一体机/旋风除尘器/RTO/催化燃烧,沸石转轮实力厂家推荐榜
  • 2026年压片糖果代加工厂家Top10,压片糖果代加工哪家好?
  • 2026年西南地区优质吹风旗杆生产厂家综合盘点
  • 2026年新疆石英砂优质厂家综合评估与精选推荐
  • 天津企业陪跑服务商深度解析:五家实力机构一览
  • 实力强的叉车租赁品牌企业如何选择?尚雅机械解答
  • 讲讲运动橡胶地板实力厂家,新凯琳的定制费用怎么收费?
  • 学长亲荐9个AI论文平台,MBA毕业论文轻松搞定!