Function 将函数作为参数传递的优点

Function 将函数作为参数传递的优点,function,parameter-passing,Function,Parameter Passing,只是为了考试而学习,我在笔记里找不到这个问题的答案。任何帮助都会很好 许多语言允许子例程/函数作为 参数。列出这两个优点,并激励每一个 优势在于有一个清晰的解释性示例(这不需要是代码 伪代码) 我的简单答案是,传递的函数可能被用作回调函数 当函数完成它的任务时,它将使用或w/o参数调用回调函数。主要优点是,如果被调用的函数调用另一个函数,您可以通过指定调用哪个其他函数来修改被调用函数的行为 抱歉,除此之外,您还需要自己做功课。将特定操作应用于集合的所有成员。(即,对其中的每个数字求平方)。将“a

只是为了考试而学习,我在笔记里找不到这个问题的答案。任何帮助都会很好

许多语言允许子例程/函数作为 参数。列出这两个优点,并激励每一个 优势在于有一个清晰的解释性示例(这不需要是代码 伪代码)


我的简单答案是,传递的函数可能被用作回调函数


当函数完成它的任务时,它将使用或w/o参数调用回调函数。

主要优点是,如果被调用的函数调用另一个函数,您可以通过指定调用哪个其他函数来修改被调用函数的行为


抱歉,除此之外,您还需要自己做功课。

将特定操作应用于集合的所有成员。(即,对其中的每个数字求平方)。

将“action”函数传递给方法所带来的一个好处是能够对集合执行操作,而不暴露该集合的内部

一个典型的用法是,在私有集合上迭代,对每个项调用传递的函数


另一种是回调方法。

考虑一个函数,它根据比较排序对对象数组进行排序。这样的函数需要一种方法来比较两个对象,并判断哪个对象比另一个对象大。您可以向这样一个常规排序函数传递一个指向数组的指针和一个指向帮助它比较任意两个对象的函数的指针


请参阅STL的排序以获取示例。

从以下两种方式开始你的早晨,你可以认为你是一位迷人歌手的经理(在计算机生活中:一个程序)

情景1:你必须告诉一些下属做以下a)为这位明星准备早餐,并注意她喜欢的羊角面包种类,记住她醒来时非常难过等等b)将所有电缆放在舞台上,使用这样或那样的电源,这盏灯,但不是那盏灯,这些颜色

情景2:询问下属:请少校为我们的明星提供她通常的早餐。然后让全体工作人员负责舞台上的日常歌曲

从计算机的角度来看,第一种情况是错误的,这是一种典型的快速而肮脏的做法。是的,你身边有一个人,但他正在做所有的差事,处理不同类型的责任,因此他可能会感到困惑,而且订单很长,很详细

在第二种情况下,你授权,这会处理复杂性,顺序很短,我们知道谁在做什么工作,所以我们不会在星星的茶杯里发现一个粉红色的大灯泡(你认为这是一个笑话,但这正是一个bug)。 简单地说,复杂性是以一种有意义的方式划分的

如果您不明白为什么情况二类似于调用函数,那么这里是一个伪代码

外部职能主管(客户、服务、选项)
外部职能团队(任务、选项)

函数startMorning()开始

打电话(下属,少校(对于我们的明星,通常的早餐,她很挑剔)
呼叫(下属、工作人员(常用电缆、亮灯))

END

例如,使用C++的
std::transform
将C标准库函数
toupper()
同时应用于整个字符串。