C++ typedef定义函数与函数指针

【电子元件篇】MOSFET场效应管作用、选型和测量指南-超简单解读 场效应管是一种电压控制型半导体器件,相比三极管具有输入阻抗高、噪声小、功耗低等优势。主要分为结型和绝缘栅型两大类,后者又可分为耗尽型和增强型MOS管。场效应管通过栅极电压控制漏极电流,具有转移特性和输出特性两大静态特性,以及快速的开关特性。其关键参数包括饱和漏源电流、夹断电压、跨导等,应用场景涵盖信号放大、恒流源、阻抗变换等领域。使用时需根据电路需求选择合适类型,如结型管适合一般放大,功率MOSFET适合高压大电流场合。检测时可用万用表电阻档初步判断好坏和放大能力。 阅读详情

一、定义函数

代码

#include<iostream>
using namespace std;
typedef int (FUNC)(int, int);

FUNC add;
int main()
{
	cout << add(1, 2) << endl;
	return 0;
}
int add(int a, int b)
{
	return a + b;
}

​ 其中,typedef int (FUNC)(int,int),就是定义了一个函数类型FUNC,可以使用FUNC去定义函数。

从左到右三部分解释:

  • 第一个int为函数的返回值类型;

  • FUNC为可以定义函数的类型名;

  • (int,int)为定义的函数所具有的参数,共两个参数,均为int。

​ 比如,示例代码中FUNC add,就是定义了一个名为add、返回值类型为int、具有两个参数且参数类型均为int的函数。这里,FUNC add;与nt add(int,int);等价。

二、定义函数指针

代码

#include<iostream>
using namespace std;
typedef int (*FUNC_P)(int, int);

int add(int a, int b)
{
	return a + b;
}
int sub(int a, int b)
{
	return a - b;
}
int main()
{
	FUNC_P p = add;
	cout << p(1, 2) << endl;
	p = sub;
	cout << p(1, 2) << endl;
	return 0;
}

​ typedef int (*FUNC_P)(int, int)定义了一个函数指针类型,可以使用FUNC_P去定义指向函数的指针,其指向的函数类型必须是返回值为int、参数为两个且均为int。

​ 比如FUNC_P p=add,就是定义了一个指针p,并且让其指向add函数。此时,p(1,2)等价于add(1,2)。

之后,可以改变指针指向,如,p=sub让其指向sub函数。

参考

typedef函数指针用法

typedef的用法之 typedef int (* func)(int ,int )

[C++] 一文带你搞定 typedef 所有用法
函数指针及其定义和用法,C语言函数指针详解

Qt应用软件【协议篇】自定义协议处理串口半包贴包 Qt串口数据,半包,贴包,丢包数据处理 阅读详情

相关推荐

Unity游戏开发实战:如何用科大讯飞离线语音合成SDK实现NPC对话(附完整代码)

本文详细介绍了如何在Unity游戏开发中使用科大讯飞离线语音合成SDK实现NPC对话系统。通过完整的代码示例和优化技巧,开发者可以快速集成本地语音合成功能,提升游戏沉浸感,同时避免网络延迟问题。文章涵盖SDK集成、核心语音合成模块实现以及高级应用技巧,特别适合RPG游戏开发者参考。

weixin_29268385的博客 182

C语言之typedef定义函数指针(十三)

一、typedef两种用法 1.定义已有类型的别名  typedef 类型 定义名; 栗子: typedef char *pChar; pChar s1, s2, s3; 注意:s1、s2、s3都被定义为char *类型. 2.创建一个新的类型 typedef 返回值类型 新类型名(参数列表); 栗子: typedef int (*add)(int, int); 等同: int(*add)(int, int); <1>.注意:去掉typedef和别名后, 剩.

Android系统攻城狮 2944

双向全桥隔离DC-DC变换器(DAB)的调制优化与挑战解析

本文深入解析了双向全桥隔离DC-DC变换器(DAB)的核心调制技术及其面临的挑战。文章从基础的相移调制(SPS)入手,逐步探讨了扩展相移(EPS)、双重相移(DPS)等进阶策略,并重点分析了电流优化与零电压开通(ZVS)等硬核优化技巧。针对DAB在实际应用中存在的建模困难、多模块并联及数字实现等挑战,提供了实用的应对策略与设计思路,旨在帮助工程师在性能、复杂度与成本之间找到最佳平衡。

weixin_29271053的博客 572

typedef定义的函数指针

再谈 typedef(重点为函数指针) 有种很方便的写法。 typedef int *p; p pointer; 这时直接把pointer带入原式中,取代p然后去掉typedef,得到的结果就是int * pointer; 哈哈,这样直接替换就很直观多了。 C 语言语法简单,但内涵却博大精深;如果在学习时只是止步于表面,那么往往后期 会遇到很多困难。typedef 是 C 语言中一个很好用的工具...

张雨辰的博客 6386

FPGA+滨淞CCD实战:手把手教你搭建S7031/S10142成像电路(附避坑指南)

本文详细介绍了使用FPGA驱动滨淞CCD传感器(S7031/S10142)构建高精度成像系统的完整实战流程。内容涵盖核心器件选型、系统架构规划、电路板(焦面板与接口板)设计要点、FPGA Verilog逻辑实现,并提供了从电源管理、信号调理到数据采集的详细避坑指南,帮助读者从零搭建稳定可靠的成像电路。

weixin_29271263的博客 227

STM32与威纶通触摸屏RS485通信实战:Modbus RTU协议与避坑指南

在工业自动化与嵌入式系统开发中,串行通信是实现设备间数据交换的基础技术。RS485总线凭借其差分信号传输、抗干扰能力强、支持多点通信及长距离传输等特性,成为工业现场广泛应用的物理层标准。其核心原理是利用一对双绞线进行平衡传输,有效抑制共模噪声。在协议层,Modbus RTU作为开放、简洁的主从式应用层协议,定义了统一的数据模型(如线圈、寄存器)和功能码,极大简化了不同厂商设备间的互操作性。结合STM32微控制器的UART外设与威纶通(Weinview)人机界面(HMI),可以构建稳定可靠的监控与控制系统。本

weixin_33925615的博客 329

利用typedef定义函数指针(转载自ITeye)

进入正文:  代码简化, 促进跨平台开发的目的.  typedef 行为有点像 #define 宏,用其实际类型替代同义字。  不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。 用法一: typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数指针, 函数类型是带两个in...

weixin_30711917的博客 2830

断点回归(regression discontinuity design)学习笔记

本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让“跳跃”更有意义:断点回归设计(RDD) 5 Stata: 断点回归 (RDD) 教程 6 怎么用通俗的语言解释断点回归?它与DID的区别是什么 7 Watering Down Environmental Regulation in China,Guojun He, Shaoda Wang, Bing Zhan

Claire_chen_jia的博客 9万+

使用typedef定义函数指针

关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用。 //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a) { return; } void main() {     pFun = glFun;     (*pFun)(2); }

subkiller的专栏 1万+

使用 Simulink 进行电力电子系统的大信号模型仿真

电力电子系统(Power Electronics System)包括各种功率转换器(如 DC-DC 转换器、逆变器等)。这些设备中的关键组件(如 MOSFET、IGBT、电容器、电感器等)不仅影响系统的性能,还直接关系到系统的稳定性、效率和可靠性。因此,在设计阶段进行详细的建模和仿真至关重要。大信号模型仿真的目的是通过模拟系统在非线性条件下的真实行为,评估其瞬态响应、稳态性能以及对不同负载和输入电压变化的响应。通过本教程,我们介绍了如何使用 Simulink 进行电力电子系统的大信号模型仿真。背景介绍。

xiaoheshang_123的博客 303

详解AUTOSAR:AUTOSAR架构中的配置文件(拓展篇—7)

查看AUTOSAR代码包时会发现一些这样格式的文件:xxx_PBcfg.c、xxx_Lcfg.c和xxx_Cfg.h,本篇博文讲一讲这几个配置文件的作用和特点。

不脱发的程序猿 2147

typedef用法,函数指针

函数指针的声明 函数指针的声明 int (*a)(int,int)=NULL; typedef重定义 typedef int (*PF)(int,int);//函数指针别名 PF a=NULL; typedef int (*PFS[4])(int,int);//函数指针别名 PFS b={NULL};//定义了一个函数指针数组,4个长度 用函数指针作为函数的返回值 指针函数的定义 顾名思义,指针函数即返回指针的函数。其一般定义形式如下: 类型名 *函数名(函数参数表列); 其中,后缀运算符

qq_43446733的博客 4073

基于simulink的软开关技术的三相逆变器仿真

三相逆变器中的软开关技术(Soft Switching Techniques)旨在减少开关损耗,提高效率,并降低电磁干扰(EMI)。实现软开关通常涉及使用谐振电路或准谐振电路来确保开关器件在零电压(Zero Voltage Switching, ZVS)或零电流(Zero Current Switching, ZCS)条件下进行切换。下面将详细介绍如何在Simulink中进行基于软开关技术的三相逆变器仿真设计。

xiaoheshang_123的博客 162

cpp: 使用typedef定义函数指针

Java在对于oop的封装上面抽象程度非常的高;但是对于函数,java里面的函数或者方法,可以说是非常基础或者低级。纵观java的语言特性,没有对函数有更高程度的封装。 但是,除了在oop方面的抽象,在函数方面,也可以有很高程度的抽象。这一点,在javascript / python / c /c++上面就有所体现。 如果之前没有接触过对于函数的抽象,那么第一次接触会觉得比较难以理解。比如c++

Cat的专栏 6446

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C++学习14:使用typedef定义函数指针类型

typedef可以用于定义函数指针类型: 【语法】 typedef <返回类型> (*<函数类型名>)(参数表) typedef <返回类型> (<类名>::*<函数类型名>)(参数表) 【用途】 1、可以用来定义该函数类型的函数指针,就不用每次使用函数指针都要写一次函数原型了; 2、有了类型名,就可以使用在容器里面,譬如map...

xiaoyaGrace的博客 718

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C++中对比:指针、函数指针、typedef 定义函数指针、指针函数

【参考文章1】【参考文章2】【参考文章3】指针:指向变量的地址函数指针:即定义一个指向函数的指针变量。本质是指针变量。指向的是函数的地址。指针函数:指的是函数的返回值是一个指针。联想一下void。指针函数实质是一个函数。函数都有返回类型(如果不返回值,则为void),只不过指针函数返回类型是某一类型的指针。将void变为int*。相同点:typedef 的行为有点像#define宏, 用其实际类型替代同义字不同点:typedef在编译时被解释, 因此让编译器来应付超越预处理器能力的文本替换。

m0_58242248的博客 1949

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【C++】函数指针 ③ ( 函数指针语法 | 函数名直接调用函数 | 定义函数指针变量 | 使用 typedef 定义函数类型 | 使用 typedef 定义函数指针类型 )

一、函数指针语法 1、函数名直接调用函数 2、定义函数指针变量 3、使用 typedef 定义函数类型 4、使用 typedef 定义函数指针类型 二、完整代码示例

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 3774

C++用typedef定义函数指针类型typedef可以用于定义函数指针类型

【语法】 typedef (*)(参数表) typedef (::*)(参数表) 【用途】 1、可以用来定义该函数类型的函数指针,就不用每次使用函数指针都要写一次函数原型了; 2、有了类型名,就可以使用在容器里面,譬如map,用于实现灵活的函数调用。 【示例】 例1: typedef void (*PF)(int x); void func1(int x){ cout vo

陈冲的博客 1259

C++之利用typedef定义函数指针

转自:https://blog.youkuaiyun.com/u014114990/article/details/47748747 进入正文:  代码简化, 促进跨平台开发的目的.  typedef 行为有点像 #define 宏,用其实际类型替代同义字。  不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。 用法一: typedefint(*MYFUN)...

menghuangxiao的专栏 443

c++ 小技巧 (五) typedef 定义函数指针以及实例

#include<iostream> #include<algorithm> #include<string.h> #include<string> #include<numeric> #include<iomanip> #include<math.h> #include<bitset>

JIAN_ZANG1125的博客 912

C/C++函数指针(typedef简化定义)

#include iostream>     #include string>     using namespace std;     int test(int a);       void main(int argc,char* argv[])        {         couttestendl;//显示函数地址         int (*fp)(int a);

joe5003的专栏 539

C++使用typedef定义函数指针

typedef是 C++ 中的关键字,用于给已有的类型创建一个新的类型

板栗的学习日常 943

C/C++ 函数指针、typedef 定义类型

函数指针是指一个指向函数的指针变量。和普通的指针变量一样,函数指针变量也可以被赋值、传递和使用。

简单记录工作和学习 289
上一篇: QML Quick C++程序中使用QMessageBox
下一篇: 使用QLibrary加载动态库
HHT0506
博客等级 码龄9年 353粉丝 140原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHT0506

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值