Function pointer and pointer function指针函数和函数指针

2023-05-16

//指针函数
int *f(int x, int y){}  //pointer function
//f is a function, it returns a pointer
//函数指针
int (*f)(int x, int y){} //function pointer
//f is a pointer, it points to a function

程序示例

//函数指针的使用 
#include <iostream> 
using namespace std;//使用命名空间

//未使用 const
double triangle_area(double &x,double &y){
	return x*y*0.5;
}
double rectangle_area(double &x,double &y){
	return x*y;
}
double print_area(double (*p)(double &,double &),double &x,double &y){
	return p(x,y);
}
/*
//使用const后 
double triangle_area(double const &x,double const &y){
	return x*y*0.5;
}

double rectangle_area(double const &x,double const &y){
	return x*y;
}
*/
double print_area(double (*p)(double const&,double const&),double &x,double &y){
	return p(x,y);
}

int main(){
	double a=2,b=3;
	double (*p)(double &,double &);//定义函数指针 
	p=triangle_area;//函数指针指向其中一个函数 
	cout<<"三角形的面积为:"<<print_area(p,a,b)<<endl;
	
	p=rectangle_area;//函数指针指向另一个函数
	cout<<"矩形的面积为:"<<print_area(p,a,b)<<endl;
	return 0;
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Function pointer and pointer function指针函数和函数指针 的相关文章

  • 运营商部分应用

    如果我想在字符末尾添加一个空格以返回列表 如果我不传递任何参数 我将如何通过部分应用程序来完成此操作 还有类型是 space Char gt Char 由于使用 和 运算符出现 解析错误 我在末尾添加空格时遇到问题 到目前为止我所拥有的是
  • 破坏/分解函数的函数

    我以前有过 here https stackoverflow com questions 4920610 c class function in assembly 已经表明 C 函数不容易用汇编表示 现在我有兴趣以一种或另一种方式阅读它们
  • 如何将 typedef 结构传递给函数?

    此刻我正在努力 void avg everything 但这给了我错误 error subscripted value is neither array nor pointer 当我今天早些时候收到此错误时 这是 因为我没有正确地将 2D
  • 为什么我能够使用无效的类指针进行函数调用

    在下面的代码片段中 虽然指针未初始化 但调用仍然成功 temp ptr ptr gt func2 是C 语言特性的问题 还是VC 6编译器的作弊 class temp public temp a 9 int func1 return a b
  • 程序如何在Python中的两个函数之间进行选择?

    我有一个 Python 3 2 程序 可以计算未来任意时间段内的投资价值 它可以处理单利和复利 问题是我定义了两个函数 main 和 main2 第一个是简单函数 第二个是复利函数 现在我想做的是 根据用户的一些输入 程序在运行 main
  • C++:初始化结构体并设置函数指针

    我正在尝试使用函数指针初始化结构 但是除非使用全局函数完成 否则我很难这样做 以下代码有效 float tester float v return 2 0f v struct MyClass Example typedef float My
  • 在C中更改函数内的数组

    我正在学习 C 并且很困惑为什么在 main 中创建的数组不会在函数内部更改 我假设传递的数组是一个指针 并且更改指针应该更改数组 对吧 有人可以解释这种情况下发生了什么吗 谢谢你的帮助 int main int i length 10 i
  • 同一参数有两个不同的名称有什么意义?

    func mapEachElement inArray arr Int withFunc aFunc Int 为什么会有 inArray 然后 arr 有什么意义 对于 withFunc 和 aFunc 也是如此 它使代码变得更加复杂并且阅
  • CMake:如何将 .def 文件添加到 Visual Studio 项目过滤器?

    如何将 def 文件添加到 Visual Studio 项目过滤器 filters文件 Visual Studio 使用 def 文件 CMake代码 set a src a cpp a def add library a SHARED a
  • 如何在jquery中创建一个全局函数,并从另一个加载的页面调用它

    如何在 jquery 中声明全局函数 如何从使用 jquery 的 load 函数加载到该页面上的某个 div 中的页面调用它 该功能很简单第 1 个子页面 main links 1st sub page myfun function is
  • 如何获取调用函数的“this”值?

    如果我有一个这样的函数 function foo this console log this function bar bar prototype func function foo this var test new bar test f
  • 如何将函数应用于多个 pandas 数据框

    我有多个数据框 df1 df2 df3 dfn 它们具有相同类型的数据 但来自无法连接的不同描述符组 现在我需要手动将相同的函数应用于每个数据帧 如何将相同的函数应用于多个数据框 pipe https pandas pydata org p
  • 将命名参数传递给 Javascript 函数[重复]

    这个问题在这里已经有答案了 使用类似的方法调用 Javascript 函数 someFunction 1 true foo 不熟悉功能的话不是很清楚 我已经看到并使用了插入注释来命名参数的样式 someFunction itemsToAdd
  • swift 中闭包和函数作为参数的区别

    我有将近 4 年的 Objective C 经验 并且是 swift 的新手 我试图从 Objective C 的角度理解 swift 的概念 所以如果我错了 请指导我 在目标 c 中 我们有块 可以稍后异步执行的代码块 这绝对是完全合理的
  • 在查询中实现函数调用(分组运行总计)

    我有一个函数叫做fxGroupedRunningTotal fxGRT 和查询 总计 我想在 Totals 中调用 fxGRT 以便获得一个显示分组运行总计的列 我只能通过导入总计查询来测试 fxGRT 使用总计并调用 fxGRT 的查询
  • GCC的sqrt()编译后如何工作?使用哪种root方法?牛顿-拉夫森?

    只是对标准感到好奇sqrt 来自 GCC 上的 math h 我自己编码的sqrt 使用牛顿拉夫森来做到这一点 是的 我知道 fsqrt 但CPU是如何做到这一点的呢 我无法调试硬件 现代 CPU 中的典型 div sqrt 硬件使用 2
  • 接收字母并返回字母表中(从 0 开始)数字位置的 Python 函数

    我正在尝试创建一个 Python 函数 它接收一个字母 只有一个字母字符的字符串 并返回该字母在字母表中从 0 开始的数字位置 它不应该区分大小写 而且我不能使用导入 所以输入 a 应该返回 0 输入 A 也应该返回 0 输入 O 应该返回
  • JavaScript - 声明嵌套函数的全局作用域?

    我尝试为嵌套 JavaScript 函数提供全局范围的尝试不起作用 DECLARE FUNCTION B IN GLOBAL SCOPE function B function A DEFINE FUNCTION B INSIDE NEST
  • Haskell - lambda 表达式

    我试图了解什么是有用的以及如何在 Haskell 中实际使用 lambda 表达式 我不太明白使用 lambda 表达式相对于定义函数的约定方式有何优势 例如 我通常会执行以下操作 let add x y x y 我可以简单地打电话 add
  • 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

    我有一份 Excel 作业 但我陷入了最后部分 我被要求使用 MID LEN 和 FIND 来提取单元格内的特定字符串 我非常了解每个人的工作方式 将这三者结合起来并让它们发挥作用是我遇到的问题 我需要将城市与地址的其余部分分开 然后将其显

随机推荐

  • WPF入门

    文章目录 WPF概述WPF简介WPF 开发环境搭建XAML语言介绍 WPF常用控件WPF常用控件分类及介绍WPF文本类型控件WPF内容控件 WPF概述 WPF简介 Windows Presentation Foundation 新一代图形用
  • 2020-08-20网易互娱一面

    1 a b两数组均升序排列 将b数组所有成员融合到a数组里面 xff08 a数组足够大 xff09 维持两个指针 xff0c 从后往前比较 2 最小生成树 3 判断栈的输出顺序 其他 线程进程 TCP UDP Linux命令
  • 2020-08-20商汤科技笔试A卷

    文章目录 1 查找 Good 字符串2 最长上升子序列 xff0c leetcode原题 3 求删除区间的最小个数 xff0c 可以使得删除后剩下的区间彼此不重叠 1 查找 Good 字符串 题目描述 给定一个字符串 xff0c 在字符串中
  • 使用一组坐标信息拟合圆(matlab)

    详细原理参考MATLAB圆拟合 圆拟合 function span class token punctuation span xc span class token punctuation span yc span class token
  • BH1750( GY-302 )光照传感器

    文章目录 一 产品简介二 IIC通信三 BH1750的使用四 程序源码 这里我先简单的介绍一下BH1750光照传感器模块的基本信息 不多废话 xff0c 我将着重讲解它的使用部分 xff0c 相信对于屏幕前的你也是更关心它是怎么使用的 xf
  • 海康相机SDK

    span class token comment 获取SDK版本号 span span class token keyword static span span class token keyword uint span span clas
  • 2020-09-03百度笔试题

    2 找角色 输入 xff1a span class token number 1 span span class token number 3 span span class token number 6 span span class t
  • 2020-09-08小米笔试

    span class token macro property span class token directive keyword include span span class token string lt iostream gt s
  • Halide: 一种用于优化图像处理管道中的并行性、局部性和重新计算的语言和编译器

    Halide span class token operator span A Language span class token operator and span Compiler span class token keyword fo
  • 现代光学字符识别技术综述

    A survey of modern optical character recognition techniques 文章目录 摘要1 介绍1 1 OCR是模式识别的一个成功分支1 2 两类OCR系统1 3 现代OCR的主要趋势1 4 本
  • OCR研究与发展的历史回顾

    Historical Review of OCR Research span class token operator and span Development 文章目录 摘要1 介绍2 OCR的黎明3 试一试的时代3 1 模板匹配方法3
  • 深度学习时代的文字检测与识别技术

    深度学习时代的文字检测与识别技术
  • C++程序设计实践指导——第一章 简单编程 (1)

    第一章 简单编程 xff08 1 xff09 1 1删除序列中相同的数 有16个数 1 2 2 3 4 4 5 6 6 7 8 8 8 9 xff0c 10 xff0c 10 xff0c 已按由小到大的顺序排好 存储 在数组a中 试建立一个
  • 模板template的使用

    函数模板应用实例 C 43 43 与C的不同点 xff1a 模板template的使用 include lt iostream gt 无需加上 34 h 34 using namespace std 使用命名空间 template lt t
  • 时间复杂度与空间复杂度

    时间复杂度与空间复杂度 1 Running time xff1a 时间复杂度 T n 61 O f n 时间复杂度 xff1a 算法执行时间随规模增大而增长的趋势 以算法中重复执行的次数作为算法时间复杂度的依据 计算机科学中 xff0c 算
  • 对抗样本是怎么产生的?如何避免对抗攻击?

    全文共2637字 xff0c 预计学习时长5分钟 图片来源 xff1a pexels 64 pixabay 随着深度神经网络的出现 xff0c 机器学习领域的安全问题日益突出 人们对神经网络的可解释性提出了质疑 xff0c 也自然对深度学习
  • 数组与指针的区别

    数组与指针的区别 1 指针数组与数组指针 int a1 3 It is an array each element is a pointer int a2 3 It is a pointer It points to an array wi
  • while/do while/for/goto的区别

    Calculate 1 43 2 43 3 43 43 100
  • if/switch的区别

  • Function pointer and pointer function指针函数和函数指针

    指针函数 int f int x int y pointer function f is a function it returns a pointer 函数指针 int f int x int y function pointer f i