函数指针 和 指针函数

1、函数指针

函数指针是指向函数的指针变量。它可以用于存储函数的地址,允许在运行时动态选择要调用的函数。(是一个指针)

//函数指针的形式
返回类型 (*指针变量名) 参数列表
int add(int a,int b){return a+b;
}int subtract(int a,int b){return a-b;
}int main(){//定义一个函数指针,只想一个接受两个int参数、返回int的函数int (*operationPtr) (int,int);//初始化函数指针,使其指向add函数operationPtr = &add;//通过函数指针调用函数int result = operationPtr(10,5);cout<<"result:"<<result<<endl;//将函数指针切换到subtract函数operationPtr = &subtract;//再次通过函数指针调用函数result = operationPtr(10,5);cout<<"result:"<<result<<endl;return 0;
}

函数指针的使用场景

  • 回调函数:函数指针常用于实现回调机制,允许将函数的地址传递给其他函数,以便于适当时的调用。
  • 函数指针数组:可以使用函数指针数组实现类似于状态机的逻辑,根据不同的输入调用不同的函数。
  • 动态加载库:函数指针可用于在运行时动态加载库中的函数,实现动态链接库的调用。
  • 多态实现:在C++中,虚函数和函数指针结合使用,可以实现类似于多态的效果。
  • 函数指针作为参数:可以将函数指针作为参数传递给其他函数,实现一种可插拔的函数行为。
  • 实现函数映射表:在一些需要根据某些条件调用不同函数的情况下, 可以使用函数指针来实现函数映射表。

2、指针函数
指针函数是一个返回指针类型的函数,用于返回指向某种类型的数据的指针。(是一个函数

int* getPointer(){int x = 10;return &x; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql相关基础操作

安装 [rootlocalhost ~]# yum install mariadb-server mariadb -y # 自动监听3306端口 [rootlocalhost ~]# systemctl start mariadb.service [rootlocalhost ~]# systemctl enable mariadb.service [rootlocalhost ~]# netstat -lntup安全初始化 修改root用户的密码,新版本可…

php动态高亮web源代码

php动态高亮web源代码 注&#xff1a;配置好不允许高亮的文件名&#xff0c;安全第一 #php实现动态展示目录树结构源代码 适用于开放源代码&#xff0c;结合html缓存使用效果更佳&#xff0c;因循环较多不适合放首页 能力有限没实现行号 演示&#xff1a;show source|开放…

【Pytorch】NameError: name ‘Variable‘ is not defined

报错 NameError Traceback (most recent call last) Cell In[20], line 42 for epoch in range(num_epochs):3 if torch.cuda.is_available(): ----> 4 inputs Variable(x_train).cuda()5 target Variable(y_train).…

AWS云服务器选择哪个区域最好?

AWS每个区域都有特点&#xff0c;并无谁好谁坏的说法。云服务器最佳区域的选择取决于多个因素&#xff0c;包括业务需求、用户位置、数据合规性、延迟需求以及成本等。接下来是AWS的合作伙伴九河云提供的一些考虑因素和建议&#xff1a; &#xff08;1&#xff09;业务需求&am…

多家企业机密数据遭Lockbit3.0窃取,亚信安全发布《勒索家族和勒索事件监控报告》

本周态势快速感知 本周全球共监测到勒索事件87起&#xff0c;与上周相比勒索事件大幅下降。美国依旧为受勒索攻击最严重的国家&#xff0c;占比45%。 本周Cactus是影响最严重的勒索家族&#xff0c;Lockbit3.0和Bianlian恶意家族紧随其后&#xff0c;从整体上看Lockbit3.0依旧…

git 命令怎么回退到指定的某个提交 commit hash 并推送远程分支?

问题 如下图&#xff0c;我要回退到 【002】Babel 的编译流程 这一次提交 解决 1、先执行下面命令&#xff0c;输出日志&#xff0c;主要就是拿到提交 commit 的 hash&#xff0c;上图红框即可 git log或者 vscode 里面直接右击&#xff0c;copy sha 2、执行下面命令回退 g…

05_Scala运算符

文章目录 **1.Scala运算符****2.scala中没有 --等语法****3.逻辑运算符和Java完全相同****4.scala认为万物皆对象** 1.Scala运算符 Scala底层 使用的是equals() 程序员比较两个量的时候&#xff0c;谁来没事比较内存地址&#xff1f; Java中引用数据类型比较地址&#xff0…

XiaodiSec day011 Learn Note 小迪安全学习笔记

XiaodiSec day011 Learn Note 小迪安全学习笔记 记录得比较凌乱&#xff0c;不尽详细 day11 工具: fofa quake kunyu suize水泽 ari灯塔 of 信息收集 四大引擎 fofaquakeshodanzoomeye fofa 和 quake比较常用 使用引擎搜索信息 得到中间件和操作系统 能够筛选端口 目的是…

黑马点评(十二) -- UV统计

一 . UV统计-HyperLogLog 首先我们搞懂两个概念&#xff1a; UV&#xff1a;全称Unique Visitor&#xff0c;也叫独立访客量&#xff0c;是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站&#xff0c;只记录1次。 PV&#xff1a;全称Page View&…

Games101-动画与模拟(基本概念、质点弹簧系统、运动学)

动画&#xff1a;把物体变成活的&#xff0c;让它动起来 更关注的是美学。早期的动画是画出来的&#xff0c;并不关心对不对&#xff0c;符不符合物理&#xff0c;只要看起来对 图形学里对动画理解为对于建模或几何的拓展。动画无非就是在不同的时间或不同的帧有不同的几何形状…

了解Cookie登录:原理、实践与安全指南

什么是Cookie登录&#xff1f; Cookie是什么 当你首次登录网站时&#xff0c;你会输入用户名和密码。在后台&#xff0c;网站的服务器验证这些凭据是否正确。一旦确认你的身份无误&#xff0c;服务器就会创建一个Cookie&#xff0c;并将其发送到你的浏览器。这了解Cookie登录…

2024年深圳杯东三省数学建模联赛A题论文首发+问题一代码分享

深圳杯A题论文代码分享资料链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1L2NVgoefSW-yuqZjEB3wcw 提取码&#xff1a;sxjm 基于优化模型的多个火箭残骸的准确定位 摘要 在现代航天技术中&#xff0c;火箭是实现空间探索的关键工具。由于火箭发射过程中的高成…

Qt:学习笔记一

一、工程文件介绍 1.1 main.cpp #include "widget.h" #include <QApplication> // 包含一个应用程序类的头文件 //argc&#xff1a;命令行变量的数量&#xff1b;argv&#xff1a;命令行变量的数组 int main(int argc, char *argv[]) {//a应用程序对象&…

Shell和Linux权限

目录 shell Liunx权限 用户 sudo Linux的权限管理 文件访问者的分类 文件的属性 文件的权限 文件全权限值的表示方法 1.字符表示 2.八进制数值表示 用户符号 修改文件访问权限 修改文件拥有者 修改拥有者和所属组 修改所属组 文件目录的权限的含义 问题 粘滞…

程序员学CFA——数量分析方法(四)

数量分析方法&#xff08;四&#xff09; 常见概率分布基本概念离散型随机变量与连续型随机变量离散型随机变量连续型随机变量 分布函数概率密度函数&#xff08;PDF&#xff09;累积分布函数&#xff08;CDF&#xff09; 离散分布离散均匀分布伯努利分布二项分布定义股价二叉树…

Linux系统编程---线程同步

一、同步概念 同步即协同步调&#xff0c;按预定的先后次序运行。 协同步调&#xff0c;对公共区域数据【按序】访问&#xff0c;防止数据混乱&#xff0c;产生与时间有关的错误。 数据混乱的原因&#xff1a; 资源共享(独享资源则不会)调度随机(意味着数据访问会出现竞争)线…

tsconfig.json 中 references属性的用法

在 TypeScript 的项目配置文件 tsconfig.json 中&#xff0c;references 选项用于设置项目之间的依赖关系&#xff0c;特别是在使用项目引用&#xff08;Project References&#xff09;的上下文中。项目引用是 TypeScript 3.0 引入的一个功能&#xff0c;旨在提高大型项目的编…

算法模版自用(杂)

文章目录 算法库函数next_permutation(start,end) prev_permutation(start,end) (全排列函数)nth_element &#xff08;求第k小值&#xff09;next(it,num),prev(it,num)min_element(begin(),end()),max_element(begiin(),end()) (取最小值最大值) _int128的输入输出STLlist 数…

内容互动性的提升策略:Kompas.ai的智能工具

在数字营销的新时代&#xff0c;内容的互动性已成为提升用户参与度和品牌忠诚度的关键因素。互动性内容不仅能够吸引用户的注意力&#xff0c;还能够促进用户与品牌的沟通和交流&#xff0c;从而加深用户对品牌的理解和认同。本文将分析互动性内容在提升用户参与度中的作用及其…

基于DEAP数据集的四种机器学习方法的情绪分类

在机器学习领域&#xff0c;KNN&#xff08;K-Nearest Neighbors&#xff09;、SVM&#xff08;Support Vector Machine&#xff09;、决策树&#xff08;Decision Tree&#xff09;和随机森林&#xff08;Random Forest&#xff09;是常见且广泛应用的算法。 介绍 1. KNN&am…