Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 回调函数:它们在计算机编程语言中是什么?_Function_Programming Languages_Callback_Continuations_Subroutine - Fatal编程技术网

Function 回调函数:它们在计算机编程语言中是什么?

Function 回调函数:它们在计算机编程语言中是什么?,function,programming-languages,callback,continuations,subroutine,Function,Programming Languages,Callback,Continuations,Subroutine,我在像Win32这样的低级API中看到了很多回调函数。但我对什么是回调函数或回调子例程感到困惑。c#中的事件是否被视为回调函数?在.NET中,委托与Win32 API类型的回调最为匹配,尽管委托的功能远为强大。事件本身基于基础委托 Win32 API中回调最常见的用途是枚举资源或类似的内容。例如,API将开始枚举特定窗口的所有子窗口,并为找到的每个子窗口调用自定义回调例程。在该回调中,您可以执行与特定子窗口相关的需求相关的任何操作,例如,您可能尝试枚举窗口,以便根据与该窗口相关的某些自定义条件以

我在像Win32这样的低级API中看到了很多回调函数。但我对什么是回调函数或回调子例程感到困惑。c#中的事件是否被视为回调函数?

在.NET中,委托与Win32 API类型的回调最为匹配,尽管委托的功能远为强大。事件本身基于基础委托

Win32 API中回调最常见的用途是枚举资源或类似的内容。例如,API将开始枚举特定窗口的所有子窗口,并为找到的每个子窗口调用自定义回调例程。在该回调中,您可以执行与特定子窗口相关的需求相关的任何操作,例如,您可能尝试枚举窗口,以便根据与该窗口相关的某些自定义条件以编程方式查找特定窗口,找到窗口后,可以通过从回调返回
false
来强制终止枚举


在.NET中,这种使用回调的模式不是必需的,因为使用该接口可以获得更正式的解决方案。

在.NET中,委托与Win32 API类型回调最匹配,尽管委托的功能更强大。事件本身基于基础委托

Win32 API中回调最常见的用途是枚举资源或类似的内容。例如,API将开始枚举特定窗口的所有子窗口,并为找到的每个子窗口调用自定义回调例程。在该回调中,您可以执行与特定子窗口相关的需求相关的任何操作,例如,您可能尝试枚举窗口,以便根据与该窗口相关的某些自定义条件以编程方式查找特定窗口,找到窗口后,可以通过从回调返回
false
来强制终止枚举


在.NET中,这种使用回调的模式不是必需的,因为可以使用接口使用更正式的解决方案。

回调函数是传递给其他对象的函数,稍后将调用该函数以通知用户某个内容。这意味着必须有一种方法将对函数的引用传递给另一个函数,例如函数指针的类型。在.NET中,使用委托


事件处理程序方法是回调函数的一个示例。

回调函数是传递给其他对象的函数,该对象稍后将调用该函数以通知用户某个内容。这意味着必须有一种方法将对函数的引用传递给另一个函数,例如函数指针的类型。在.NET中,使用委托


事件处理程序方法是回调函数的一个示例。

回调是回调函数的一种特殊情况。引用第30章PFPL:

[头等舱]续航。。。寿命不确定的普通值 可以在计算中随意传递和返回。延续永远不会 “过期”,在不影响安全的情况下恢复延续始终是明智的。因此,连续性支持无限的“时间旅行”——我们可以返回到计算中的前一点,然后返回到 未来的某个时刻,随意

为什么延续有用?从根本上说,它们是代表 计算在给定时间点的控制状态。使用continuations,我们可以“检查”程序的控制状态,并将其保存在 数据结构,并稍后返回

因此,回调只是延续的又一个例子。它们用于异步事件处理,是因为能够通过延续将执行恢复到某种状态

在具有一级函数和高阶函数的语言中,continuation特别容易使用



参考文献:,Robert Harper,2011。

回调是一种特殊的事件。引用第30章PFPL:

[头等舱]续航。。。寿命不确定的普通值 可以在计算中随意传递和返回。延续永远不会 “过期”,在不影响安全的情况下恢复延续始终是明智的。因此,连续性支持无限的“时间旅行”——我们可以返回到计算中的前一点,然后返回到 未来的某个时刻,随意

为什么延续有用?从根本上说,它们是代表 计算在给定时间点的控制状态。使用continuations,我们可以“检查”程序的控制状态,并将其保存在 数据结构,并稍后返回

因此,回调只是延续的又一个例子。它们用于异步事件处理,是因为能够通过延续将执行恢复到某种状态

在具有一级函数和高阶函数的语言中,continuation特别容易使用


参考文献:,罗伯特·哈珀,2011年