C++之函数指针
来源:互联网 发布:幼儿园收费软件 编辑:程序博客网 时间:2024/05/22 03:04
这里先介绍一般的函数指针,后序再介绍其他的
函数指针是C++中非常重要的内容,同样的,也是C++难点之一
指针我们都知道,一般我们所用到的都是基本数据类型指针、结构体类型指针、数组指针、对象指针等等,还有一种指针应用广泛,很多地方不可或缺,那便是函数指针,下面介绍的是比较简单点的函数指针
#include<iostream>
using namespace std;
void func(){
cout<<"调用函数func()"<<endl;
}
void set(int a){
int t=a;
cout<<"调用函数set(),t="<<a<<endl;
}
int get(char op){
int a=10;
if(op=='Y')
return a;
else
return -1;
}
int main()
{
void (*pc)();
pc=func; 也可以pc=&func;
(*pc)();
void (*p)(int);
p=set; 也可以p=&set;
(*p)(5);
int x,y;
int (*g)(char);
g=get; 也可以g=&get;
x=(*g)('Y');
y=(*g)('N');
cout<<"x="<<x<<" y="<<y<<endl;
return 0;
}
结果为:
调用函数func()
调用函数set(),t=5
x=10 y=-1
上述给出了基本的函数指针的使用,定义的格式为:
函数返回值类型(*指针名称)(参数列表参数类型),这是最简单的,当然复杂的也只是在这个基础上变化,如果理解清了函数指针的基本构造不难理解更为复杂的函数指针
这里补充点typedef在函数指针中的使用
#include<iostream>
using namespace std;
void func(){
cout<<"调用函数func()"<<endl;
}
typedef void(*pf)();
int main()
{
void (*p)();
*p=func;
(*p)();
pf a;
a=func;
pf b=func;
(*a)();
(*b)();
return 0;
}
结果为:
调用函数func()
调用函数func()
调用函数func()
很明显此例中typedef定义了一个无参数返回类型为void的函数指针类型,这样简化了后面这种函数指针的定义,更加容易理解,当有非常复杂类型的函数指针等内容理解起来就更加方便容易,而且这是一种新的类型可以多次定义这种类型的函数指针变量
- C-[之函数指针]
- c语言之函数指针
- C常见问题之函数指针
- C/C++之函数指针
- C语言之函数指针
- C语言之函数指针
- C语言之函数指针
- C语言之指针函数
- c/c++之函数指针
- Linux C之函数指针
- C学习之------C函数指针
- c语言学习笔记之函数指针和指针函数
- C/C++ 之 指针函数 和 函数指针
- C语言之指针、数组和函数
- C语言之指针、数组和函数
- C语言之指针、数组和函数
- C语言之指针、数组和函数
- C语言之指针、数组和函数
- Java线程:线程的同步-同步块
- 显卡驱动产生问题(Linux),无法进入Linux系统
- PHP下载文件 文件太大而找不到文件的解决办法
- 如何用TensorFlow和TF-Slim实现图像分类与分割
- 城市文化笔记整理(一)
- C++之函数指针
- ACM:S: 取字符串
- test2
- Java线程:并发协作-生产者消费者模型
- RecyclerView使用
- unity 手机分辨率适配
- 基于Unity3D的2d拾宝游戏(二)
- android 图表框架 hellochart columnchart属性 其他同类
- Android面试遇到的小知识