1. 首页
  2. 问答经验
  3. 回调函数一般都什么作用求解

回调函数一般都什么作用求解

简介:关于回调函数一般都什么作用求解的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于问答经验技术大全及相关资讯,可以多多关注茶馆百科网。

1. 回调函数是一个非常有用和重要的概念。当事件发生时,系统或其他函数将自动调用您定义的函数之一。

2. 回调函数是一个中断处理程序,当您设置的条件满足时,系统会自动调用它。要做到这一点,需要做三件事:1、声明2、定义3和设置触发条件,即将回调函数的名称转换为地址,作为系统调用函数的参数。

3、所谓回调函数就是由你以一定的形式定义并编写的实现内容,当某个事件发生时,并由系统或其他函数调用该函数。使用回调函数本质上是在调用函数时将您编写的函数的地址作为参数传递给函数。那个函数,当它需要,当有事情发生时,使用传递的地址调用回调函数,然后你可以用它作为处理消息的机会或者在回调函数中做一些事情。回调函数只能是全局函数或者静态函数,因为函数只在类中使用,所以为了维护类的完整性,我们使用类的静态成员函数作为回调函数。

4. 对于许多初学者来说,回调函数通常是神秘的,他们想知道回调函数是如何工作的。在开始之前,假设您熟悉函数指针,我们将解释回调函数是什么,它们的优点是什么,为什么应该使用它们,等等。

(1)什么是回调函数

简而言之,回调函数是通过函数指针调用的函数。如果你把一个指针(地址)传递给一个函数作为另一个函数的参数,当这个指针被用来调用它所指向的函数时,我们说它是一个回调函数。

(2)为什么使用回调函数

因为你可以把呼叫者和被呼叫者分开。呼叫者并不关心呼叫者是谁;它只需要知道有一个被调用的函数具有特定的构造型和一些限制(例如int返回值)。

如果你想看看回调函数在实际中是怎么做的,让我们假设我们正在编写一个库,它提供了排序算法的实现,比如冒泡排序,快速排序,外壳排序,震荡排序等等,但是为了让这个库更通用,我们不想在函数中嵌入排序逻辑,而是让消费者实现逻辑,或者,当你想让这个库对多种数据类型(int, float,字符串)是使用函数指针并进行回调。

回调可用于通知机制。例如,有时在程序中设置一个计时器,每次到一定的时间,程序就会收到通知,但是通知机制的实现者对我们的程序一无所知。此时,我们需要一个指向特定原型的函数指针,我们可以使用它来回调以通知程序事件已经发生。实际上,SetTimer()API使用回调函数来通知计时器,并且在没有提供回调函数的情况下,将消息发送到程序的消息队列。

另一个使用回调机制的API函数是EnumWindow(),它枚举屏幕上的所有顶级窗口,为每个窗口调用程序提供的函数,并传递窗口的处理程序。如果调用者返回一个值,则继续迭代,否则退出。EnumWindow()不关心调用者在哪里,也不关心调用者对它传递的处理程序做了什么;它只关心返回值,因为基于返回值,它将继续或退出。

在任何情况下,回调都是从C继承的,因此在c++中,您应该只在与C代码交互或与现有回调接口交互时使用它们。除此之外,c++中应该使用伪方法或函数(functor),而不是回调函数。

本文主要介绍了关于回调函数一般都什么作用求解的相关养殖或种植技术,问答经验栏目还介绍了该行业生产经营方式及经营管理,关注问答经验发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解问答经验技术怎么管理的要点,是您问答经验致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/3326919.html