使用typedef简化函数指针的声明
#include <iostream>
using namespace std;
void square(float&x,float&y){x=x*x;y=y*y;}
void cube(float&x,float&y){x=x*x*x;y=y*y*y;}
typedef void (*p)(float&,float&);
void print(p vp,float&x,float&y)//用指针p声明出来一个vp
{
cout<<"执行函数前:"<<endl;
cout<<"x:"<<x<<"/ty:"<<y<<endl;
vp(x,y);
cout<<"执行函数后:"<<endl;
cout<<"x:"<<x<<"/ty:"<<y<<endl;
}
void Swap(float&x,float&y){int z;z=x;x=y;y=z;}
int main()
{
float a=2,b=3;
char choice='0';
int i;
//void (*p[5])(float&x,float&y);
p vp;
for (i=0;i<5;i++)
{
cout<<"[0]退出[1]平方[2]立方[3]交换x和y的值:";
cin>>choice;
bool quit=false;
switch (choice)
{
case '0':quit=true;break;
case '1':vp=square;break;
case '2':vp=cube;break;
case '3':vp=Swap;break;
default:vp=0;
}
if (quit==true){break;}
if (vp==0){cout<<"请输入一个从0到3之间的数字!"<<endl;i=i-1;continue;}
print(vp,a,b);
}
return 0;
}
使用typedef简化函数指针的声明相关推荐
- c/c++ typedef定义函数指针(Hook前奏2)
文章目录 简介 为什么一定要使用 typedef 定义函数指针呢? 简介 关于函数指针的介绍,点击超链接即可查看,这里就不做过多说明了,或者可以点击这里: https://blog.csdn.net/ ...
- typedef定义函数指针类型的使用
定义函数指针 定义函数指针的方法,返回值与参数列表要与指针所要指向的函数一致 返回值 (*函数指针名)(参数列表); 使定义的函数指针ptrFunc指向函数Func,并且使用ptrFunc ptrFu ...
- 使用 typedef 定义函数指针,更优雅的使用函数指针
简介 关于函数指针的介绍,这里就不做过多说明了,不了解的同学可以看看这篇博客: https://blog.csdn.net/afei__/article/details/80549202 使用 typ ...
- 函数指针的声明和使用
C语言高级进阶 函数指针 学习内容 函数指针是指向函数的指针变量. 因此"函数指针"本身首先应是指针变量,只不过该指针变量指向函数.这正如用指针变量可指向整型变量.字符型.数组一样 ...
- typedef 定义函数指针
原文地址:typedef 定义函数指针作者:兰音 (一)简单的函数指针的应用. //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ ...
- 用typedef定义函数指针类型(转)
typedef可以用于定义函数指针类型: [语法] typedef <返回类型> (*<函数类型名>)(参数表) typedef <返回类型> (<类名> ...
- c/c++中typedef与函数指针
读linux代码时,常常见到形如 typedef void (*irq_flow_handler_t)(unsigned int irq, struct irq_desc *desc); 的代码. 这 ...
- typedef和函数指针定义
2019独角兽企业重金招聘Python工程师标准>>> 用typedef为一个函数指针类型起别名 typedef int (*p1)(int,int); 定义一个函数指针 int ( ...
- C/C++中如何使用typedef给函数指针取别名使其更具可读性
举个小列子 #include <stdio.h> void e_g(int a) {printf("a=%d", a); }typedef void(*FIRST_FU ...
最新文章
- 人工智能火了 高端人才成了香饽饽
- 小朋友学C++(1)
- 多行单列CV小技能----Alt加鼠标滚轮
- CentOS下Samba文件服务器的安装与配置
- 如何查找涉密文件_企业如何处理涉密信息文件?这四点必知
- c#获取网络时间并同步本地时间
- Ubuntu Thinkphp page not found
- Kodak Preps 8 for Mac中文破解版永久激活教程
- uni-app app开发对接网易云信IM
- ubuntu中安装flash播放器
- flutter ListView.separated使用
- 敏捷软件开发-薪水支付案例学习
- 把精力专注在“一件事”上的林曦老师,太容易让人着迷了!
- 表头不一致的多个文件如何按规定表头提取汇总(多个Excel按指定列值提取汇总)工具
- c#语言编程:定义person类,再派生学生类如何存放学生的成绩,C#定义全班学生成绩类,包括姓名,学号,C++成绩,英语成绩,数学成绩,平均成绩...
- PHP的realpath(...)
- C++ 强密码判定与修改
- 免疫算法(matlab)---求数的平方和
- Oracle之查看当前用户的所有表和表的列-yellowcong
- 剪映导出SRT字幕超详细图文教程
热门文章
- linux执行指定程序的命令,linux 下使用指定的用户来执行命令
- kafka可视化工具_Kafka值得一用的监控系统
- 第二届全国计算机安全技能比赛,第2届网络安全技能大赛试题(2018年).PDF
- oracle connection 有时能取到有时候又取不到
- MySQL约束课堂笔记
- 《编译原理》课程教学大纲
- 高薪面试题必备之HashMap 的底层原理
- 婚纱照嘴巴有点凸好p吗_丑拒80寸奢华大片挂床头,压箱底的婚纱照还能这样摆?...
- JVM插桩之一:JVM字节码增强技术介绍及入门示例
- 《剑指offer》链表中倒数第k个结点