IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c/c++回调函数,定义,用法,函数指针 -> 正文阅读

[C++知识库]c/c++回调函数,定义,用法,函数指针

回调函数:通过函数指针由某个函数在特定场合下调用指针指向的函数,这个过程叫回调函数

将函数的指针(地址)作为参数传递给另一个函数,当这个指针用来调用其所指向的函数时,便是回调函数。

回调函数不由函数实现直接调用,而是在特定环境下由其他函数调用,用于对该事件或条件进行响应。

场景:程序员不好手工调用某函数时,交给其他函数控制时机调用该函数。

c/c++中回调函数的用法:
1.定义一个函数
void func()
{
cout<<"…"<<endl;
}
2.定义一个函数指针
格式:返回值 (*指针名)(参数类型,参数类型);
void (*p)(); //这里这个函数名叫p,指针可以用来被指向一个无返回值,无参数的函数
3.函数指针指向对应格式的函数 //可在其他函数中调用
p = func;
4.通过函数指针调用其指向的函数
p();//函数指针调用函数的这一步叫做回调函数

要定义一个函数指针数组的话,
格式为
void (*func[5])(); //每个成员都是一个函数指针
初始化可以是
void(*func[5])() = { dofunc1, dofunc2, dofunc3 };

函数指针作为函数参数:

void work(void (*p)())
{
///
p();
///
}
void work(void (*p[])(),int n/*数组长度*/)
{

p[0]();
/
p[1]();
//
p[n-1]();
///
}

被其他函数调用时

int main()
{
void (*p)() = func;
work(p);
return 0;
}

当一个函数有参数是函数指针类型时,该函数就可以通过直接传入同类型的函数名来调用控制调用其他函数。

int main()
{
work(func);//省略函数指针指向func这一步,正常运行。
return 0;
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:26:18  更:2021-10-02 14:27:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 21:35:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码