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

【面试刷题】——函数指针和指针函数

“函数指针”(function pointer)和 “指针函数”(pointer to function)是两个不同的概念,它们涉及到指针和函数的结合使用。

函数指针(Function Pointer):

函数指针是指向函数的指针变量。它可以用来存储函数的地址,以便在程序运行时动态调用不同的函数。函数指针的声明方式如下:

#include <iostream>int add(int a, int b) {return a + b;
}int subtract(int a, int b) {return a - b;
}int main() {int (*funcPtr)(int, int); // 声明一个函数指针funcPtr = add; // 指向add函数std::cout << funcPtr(5, 3) << std::endl; // 调用add函数funcPtr = subtract; // 指向subtract函数std::cout << funcPtr(5, 3) << std::endl; // 调用subtract函数return 0;
}

这个示例中,funcPtr 是一个函数指针,它可以根据需要指向不同的函数,并通过调用函数指针来调用相应的函数。

指针函数(Pointer to Function):

指针函数是一个返回指向函数的指针的函数。换句话说,它是一个函数,其返回类型是一个函数指针。指针函数的声明方式如下:

#include <iostream>int add(int a, int b) {return a + b;
}int subtract(int a, int b) {return a - b;
}int (*getOperation(bool addition)) (int, int) {if (addition) {return add;} else {return subtract;}
}int main() {int (*funcPtr)(int, int) = getOperation(true); // 使用指针函数获取函数指针std::cout << funcPtr(5, 3) << std::endl; // 调用add函数return 0;
}

在这个示例中,getOperation 是一个指针函数,它根据传入的参数返回不同的函数指针。

总结来说,函数指针是指向函数的指针变量,而指针函数是返回函数指针的函数。它们都是在C++中用于实现函数回调、策略模式和动态函数调用等高级编程技术的重要工具。

相关文章:

【面试刷题】——函数指针和指针函数

“函数指针”&#xff08;function pointer&#xff09;和 “指针函数”&#xff08;pointer to function&#xff09;是两个不同的概念&#xff0c;它们涉及到指针和函数的结合使用。 函数指针&#xff08;Function Pointer&#xff09;&#xff1a; 函数指针是指向函数的指…...

目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)

目标分类 一、目标分类介绍1.1 二分类和多分类的区别1.2 单标签和多标签输出的区别 二、代码获取三、数据集准备四、环境搭建4.1 环境测试 五、模型训练六、模型测试6.1 多标签训练-单标签输出结果6.2 多标签训练-多标签输出结果 一、目标分类介绍 目标分类是一种监督学习任务…...

【100天精通Python】Day61:Python 数据分析_Pandas可视化功能:绘制饼图,箱线图,散点图,散点图矩阵,热力图,面积图等(示例+代码)

目录 1 Pandas 可视化功能 2 Pandas绘图实例 2.1 绘制线图 2.2 绘制柱状图 2.3 绘制随机散点图 2.4 绘制饼图 2.5 绘制箱线图A 2.6 绘制箱线图B 2.7 绘制散点图矩阵 2.8 绘制面积图 2.9 绘制热力图 2.10 绘制核密度估计图 1 Pandas 可视化功能 pandas是一个强大的数…...

2023华为产品测评官-开发者之声 | 华为云CodeArts征文活动,多重好礼邀您发声!

"2023华为产品测评官&#xff0d;开发者之声"活动激发了众多开发者和技术爱好者的热情&#xff0c;他们纷纷递交了精心编写的产品测评报告。活动社群充满活力&#xff0c;参与者们热衷于交流讨论&#xff0c;互相帮助解决问题&#xff0c;一起探索云技术的无限可能。…...

Python 图形化界面基础篇:获取文本框中的用户输入

Python 图形化界面基础篇&#xff1a;获取文本框中的用户输入 引言 Tkinter 库简介步骤1&#xff1a;导入 Tkinter 模块步骤2&#xff1a;创建 Tkinter 窗口步骤3&#xff1a;创建文本框步骤4&#xff1a;获取文本框中的用户输入步骤5&#xff1a;启动 Tkinter 主事件循环 完整…...

【驱动开发】实现三盏灯的控制,编写应用程序测试

head.h #ifndef __HEAD_H__ #define __HEAD_H__//LED1:PE10 //LED2:PF10 //LED3:PE8#define LED_RCC 0X50000A28 //使能GPIO#define LED_MODER 0X50006000 //设置输出模式 #define LED_ODR 0X50006014 //设置输出高低电平#define LED2_MODER 0X50007000 …...

Vue3+ElementUI使用

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><meta name"viewport" content"initial-scale1.0,maximum-scale1.0,minimum-scale1.0,user-scalable0, widthdevice-width"/><!-- 引入样式 --><lin…...

MySQL 和 MariaDB 版本管理的历史背景及差异

目录 MariaDB MySQL 差异 关于 SQLE SQLE 获取 ​ 了解更多 需要说明的是 MySQL 和 MariaDB 都有社区版和企业版。对于 MySQL&#xff0c;这两个版本都是由同一家公司&#xff08;Oracle&#xff09;提供&#xff0c;遵循相同的版本编号体系&#xff0c;企业版包含更丰富…...

linux驱动开发--day4(字符设备驱动注册内部流程、及实现备文件和设备的绑定下LED灯实验)

一、字符设备驱动注册的内部过程 1.分配struct cdev对象空间 2.初始化struct cdev对象 3.注册cdev对象 二、注册字符设备驱动分步实现 1.分配字符设备驱动对象 2.字符设备驱动对象初始化 3.设备号的申请 4.根据申请的设备号和驱动对象注册驱动 三、open函数回调驱动中…...

elasticsearch5-RestAPI操作

个人名片&#xff1a; 博主&#xff1a;酒徒ᝰ. 个人简介&#xff1a;沉醉在酒中&#xff0c;借着一股酒劲&#xff0c;去拼搏一个未来。 本篇励志&#xff1a;三人行&#xff0c;必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》&#xff0c;SpringCloud…...

数据结构与算法(一)

文章目录 数据结构与算法(一)1 位运算、算法是什么、简单排序1.1 实现打印一个整数的二进制1.2 给定一个参数N,返回1!+2!+3!+4!+...+N!的结果1.3 简单排序算法2 数据结构大分类、前缀和、对数器2.1 实现前缀和数组2.2 如何用1\~5的随机函数加工出1\~7的随机函数2.3 如何把不…...

Matlab--微积分问题的计算机求解

目录 1.单变量函数的极限问题 1.1.公式例子 1.2.对应例题 1 2.多变量函数的极限问题 3.函数导数的解析解 4.多元函数的偏导数 5.Jacobian函数 6.Hessian矩阵 7.隐函数的偏导 8.不定积分问题的求解 9.定积分的求解问题 10. 多重积分的问题求解 1.单变量函数的极限问题 …...

GRU实现时间序列预测(PyTorch版)

&#x1f4a5;项目专栏&#xff1a;【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战&#xff08;附代码数据集原理介绍&#xff09; 文章目录 前言一、基于PyTorch搭建GRU模型实现风速时间序列预测二、时序数据集的制作三、数据归一化四、数据集加载器…...

文本框粘贴时兼容Unix、Mac换行符的方法源码

本篇文章属于《518抽奖软件开发日志》系列文章的一部分。 我在开发《518抽奖软件》&#xff08;www.518cj.net&#xff09;的时候&#xff0c;要在文本框粘贴从别处复制来的名单。发现一个问题&#xff0c;就是一些Unix传过来的多行文本&#xff0c;粘贴后都变成了一行。原来&a…...

2023年华为杯研究生数学建模竞赛辅导

2023年华为杯研究生数学建模竞赛辅导 各研究生培养单位&#xff1a; 中国研究生数学建模竞赛作为教育部学位管理与研究生教育司指导&#xff0c;中国学位与研究生教育学会、中国科协青少年科技中心主办的“中国研究生创新实践系列大赛”主题赛事之一&#xff0c;是一项面向在校…...

post更新,put相当于删除重新增一条

索引数据 //删除后新增 PUT my_dynamic_temp/_doc/1 { “name”:“test”, “class”:“1204” } //覆盖更新 POST my_dynamic_temp/_update/1 { “doc”: { “name”:“test”, “class”:“1203”, “pernum”:“998” } }...

python责任链模式

责任链模式是一种行为设计模式&#xff0c;它允许你将请求沿着处理者链进行传递&#xff0c;直到有一个处理者能够处理它为止。在Python中&#xff0c;你可以使用多线程来实现责任链模式的框架。 首先&#xff0c;你需要定义一个基础的处理者类&#xff0c;它包含处理请求的方…...

大数据技术准备

Hbase&#xff1a;HBase 底层原理详解&#xff08;深度好文&#xff0c;建议收藏&#xff09; - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store&#xff0c;那么这些store在不同的region Hbase写流程&#xff08;读比写慢&#xff09; MemStore Flush Hbas…...

【力扣周赛】第 362 场周赛(⭐差分匹配状态压缩DP矩阵快速幂优化DPKMP)

文章目录 竞赛链接Q1&#xff1a;2848. 与车相交的点解法1——排序后枚举解法2——差分数组⭐差分数组相关题目列表&#x1f4d5;1094. 拼车1109. 航班预订统计2381. 字母移位 II2406. 将区间分为最少组数解法1——排序贪心优先队列解法2——差分数组 2772. 使数组中的所有元素…...

四大函数式接口(重点,必须掌握)

新时代程序员必须要会的 &#xff1a;lambda表达式、链式编程、函数式接口、Stream流式计算 什么是函数式接口 1.函数型接口 package com.kuang.function;import java.util.function.Function;/*** Function函数型接口 有一个输入参数&#xff0c;有一个输出* 只要是函数式接口…...

Qwen3-0.6B-FP8辅助Java八股文学习:智能抽题与答案要点生成

Qwen3-0.6B-FP8辅助Java八股文学习&#xff1a;智能抽题与答案要点生成 1. 引言&#xff1a;当面试备考遇上AI 准备Java面试&#xff0c;尤其是那些经典的“八股文”题目&#xff0c;对很多程序员来说是个既熟悉又头疼的过程。你可能也经历过&#xff1a;面对厚厚的面试宝典&…...

MAI-UI-8B在Ubuntu系统中的性能优化指南

MAI-UI-8B在Ubuntu系统中的性能优化指南 1. 引言 如果你正在Ubuntu系统上运行MAI-UI-8B模型&#xff0c;可能会遇到性能瓶颈问题。模型响应慢、资源占用高、推理速度不理想&#xff0c;这些都是实际使用中常见的痛点。作为一名技术从业者&#xff0c;我深知这些性能问题对开发…...

Cesium实战:手把手教你实现智慧城市中的动态流动线(附完整代码与避坑指南)

Cesium实战&#xff1a;打造智慧城市动态流动线的完整技术方案 在数字孪生和智慧城市可视化项目中&#xff0c;动态流动线是实现交通流、管网流向等动态效果的关键元素。本文将深入探讨如何基于Cesium引擎&#xff0c;从Shader编写到前端集成&#xff0c;构建高性能的动态线可视…...

FlowState Lab创意作品展:从音乐旋律到光影变化的波动艺术

FlowState Lab创意作品展&#xff1a;从音乐旋律到光影变化的波动艺术 1. 波动艺术的新维度 当数据不再只是冰冷的数字&#xff0c;而是化作跳动的音符、流动的光影和变幻的图形&#xff0c;这就是FlowState Lab带来的创意革命。我们最近完成了一系列跨媒介艺术实验&#xff…...

告别手动队列!ROS2多传感器同步新方案:message_filters与rclcpp的完美配合

告别手动队列&#xff01;ROS2多传感器同步新方案&#xff1a;message_filters与rclcpp的完美配合 在机器人开发领域&#xff0c;多传感器数据同步一直是个令人头疼的问题。想象一下&#xff0c;当你的无人机同时搭载了双目相机、激光雷达和IMU时&#xff0c;如何确保这些传感…...

手把手教你部署造相Z-Image v2:内置模型版,开箱即用免配置

手把手教你部署造相Z-Image v2&#xff1a;内置模型版&#xff0c;开箱即用免配置 1. 为什么选择造相Z-Image v2&#xff1f; 如果你正在寻找一个既强大又易于部署的文生图模型&#xff0c;造相Z-Image v2绝对值得考虑。这个由阿里通义万相团队开源的模型&#xff0c;拥有20亿…...

WarcraftHelper:魔兽争霸3现代系统兼容性优化终极指南 [特殊字符]

WarcraftHelper&#xff1a;魔兽争霸3现代系统兼容性优化终极指南 &#x1f3ae; 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现…...

handong1587.github.io:深度学习工程师的终极技术资源宝库

handong1587.github.io&#xff1a;深度学习工程师的终极技术资源宝库 【免费下载链接】handong1587.github.io 项目地址: https://gitcode.com/gh_mirrors/ha/handong1587.github.io 在当今人工智能和深度学习快速发展的时代&#xff0c;寻找高质量的技术资源变得至关…...

Lua代码混淆实战:基于Prometheus的Unity项目保护指南

1. 为什么你的Unity项目需要Lua代码混淆 最近有个做独立游戏的朋友跟我吐槽&#xff0c;他花半年开发的游戏上线不到一周就被破解了。更气人的是&#xff0c;破解版直接去掉了内购系统&#xff0c;还挂在第三方平台免费下载。这种情况在游戏圈太常见了&#xff0c;特别是使用Lu…...

Isaac Sim物理参数全解析:从碰撞器到SDF的实战配置指南

Isaac Sim物理参数全解析&#xff1a;从碰撞器到SDF的实战配置指南 在机器人仿真和虚拟环境构建领域&#xff0c;物理参数的精确配置往往是决定仿真效果真实性的关键因素。NVIDIA Isaac Sim作为业界领先的机器人仿真平台&#xff0c;其物理引擎提供了丰富的参数体系&#xff0…...