C++中的回调函数,函数指针理解
来源:互联网 发布:不喝牛奶 知乎 编辑:程序博客网 时间:2024/04/30 11:29
小知识:C和C++中struct 的区别就是C中的struct不能有成员函数,C++中可以有。
C++中可以通过类实例化对象来调用成员函数,在C语言中,就可以用函数指针来调用回调函数。
函数指针:函数指针就是指向一个函数,存储的是那个函数的地址
回调函数:就是通过函数指针来调用函数指针指向的函数。
#include <iostream>#include <stdlib.h>using namespace std;int max(int x, int y){ return x > y ? x:y;}void main(){ int j; int(*p)(int, int);//说明:指向函数的指针变量的一般形式:数据类型 (*指针变量名)(函数参数列表) int a = 10, b = 100, c; p = &max;//p= max的作用是把max函数的入口地址赋值给变量 p. 函数名代表首地址。这时候就是指向函数的指针变量。 //p=max也可以 c = (*p)(a, b);//函数指针调用函数 cout << c << endl; system("pause");}
就是这样,下面一个代码例子能更加说明回调函数的用法。
#include <iostream>using namespace std;int main(){ void caller(void(*) ()); //函数声明,注意这里的格式 void func(); //函数声明 void(*p) (); //定义指针变量,注意格式,后面一个括号是被调函数的参数类型 p = func; //指针变量赋值 caller(p); //回调,通过指针p指向函数func的首地址,去访问内存中为函数分配的内存空间。}//回调函数void caller(void(*fnp) ()){ printf("调用成功\n"); fnp();}//被调函数void func(){ printf("回调成功\n");}
0 0
- C++中的回调函数,函数指针理解
- C语言中的回调函数(函数指针)
- 函数指针中的回调函数(C语言版本)
- delphi 中的函数指针 回调函数
- C 函数指针 回调函数
- C 函数指针与回调函数
- 函数指针、回调函数、钩子函数->浅浅的理解
- C语言之最好理解的通过函数指针作为参数实现回调函数
- 【C语言】二级指针,函数指针,回调函数
- 函数指针与回调函数的理解
- 函数指针&回调函数&linux中的signal函数
- 函数指针&回调函数&linux中的signal函数
- 函数指针&回调函数&linux中的signal函数
- 函数指针&回调函数&linux中的signal函数
- 回调函数 函数指针
- 函数指针回调函数
- 函数指针回调函数
- 函数指针 回调函数
- Servlet的生命周期与工作原理
- 自建List<>绑定ComboBox下拉框实现省市联动
- 道德经 上篇:道经 第一章
- 十个免费专利检索分析网站
- Linux c==使用UDP实现网络通信(14)
- C++中的回调函数,函数指针理解
- Java发送邮件
- 嵌入式学习--work11 关于SPI的深入学习及软件模拟SPI(LCD调试所遇)
- MySQL触发器
- NOIP考纲 图论
- 征兵
- HDU 1254 推箱子 搜索中搜索
- AdMob(app内嵌广告)原生广告
- 开发android版本的直播app