好的功能指针类比?

ojb*_*ass 5 computer-science

到目前为止,我提出的最好的一个是卡片目录中包含有关如何烹饪不同类型食物的说明.它不包含有关如何烹饪食物的信息,也不包含烹饪食物本身的说明,但它可以指向位于其他地方的相关说明.这是一个很好的比喻,因为它展示了能够烹饪不同类型的食物(墨西哥,素食,印度等)的灵活性,但卡片目录的概念很快被计算机化搜索所取代.我被问到可怕的"什么是卡片目录?" 使用Google作为查找烹饪说明的示例是可以的,但是没有明确区分到物理位置,查找指令和"执行它们".任何人都有任何适用于他们的类比?

Mic*_*rdt 15

我认为通过非技术类比尝试教授一个非常技术性的概念并不是一个好主意 - 大概是你教的人不需要模糊的"管理总结"那种理解,他们最终需要具体应用这个概念.那么为什么这么绕道呢?

为什么不通过简单的编程示例来解释呢?也许最好的一种是通用排序算法(可能是学生已经学会了排序).

"函数指针基本上是一种传递一段代码的方法,可以被其他不需要事先了解它的代码调用.例如,像quicksort或mergesort这样的排序算法实际上只需要了解一件事情.它正在排序的东西:如何比较它们.但是如果你在排序算法中建立比较,它只能比较一个东西,比如整数.通过将比较逻辑作为函数指针传递给排序算法,被调用每当算法需要比较元素时,该算法现在可以用来对任何事物进行排序而不必更改其代码 - 如果你想用它来比较苹果和橙子,你只需要编写一个fruit-comaprison函数并传递指向排序算法的指针,以及要分类的水果."

  • 我刚要发布这样的东西.根据个人经验,我知道我没有从类比中学到任何东西(河流,瀑布,水压类比电流,电阻和电压仍然让我做噩梦:)).即使这是一件难以掌握的事情,最好还是一遍又一遍地告诉我同样的技术问题,而不是给我一个类比,我不知道我是否可以相信所有特殊情况:) (3认同)

Ass*_*vie 5

这个类比似乎过于复杂.

功能指针就像可以为您完成工作的人的电话号码.


Chu*_*uck 0

无论如何,卡片目录的事情似乎有点奇怪。根据您的主题,函数指针在我看来更好的类比是它们是食谱索引中的条目。“Cajun......39”,所以你转到第39页,那里有烹饪Cajun的说明。