2013-06-19 59 views
2

使用指向函数的指针的一些实际示例和应用程序是什么?我不明白为什么有人需要使用它。什么是指向一个函数的指针?

感谢

+0

http://stackoverflow.com/questions/840501/how-do-function-pointers-in-c-work/840669#840669其传递给'qsort' –

+0

比较功能 – BLUEPIXY

回答

4

两个主要原因:

1)你可以挑选哪些功能在某些情况下使用。

2)你可以提供一个回调功能到另一个功能(如C标准库函数qsort需要一个函数指针作为参数:你写这个函数自己告诉qsort有关如何比较两个值)。

0

如果您有一个包含另一个对象的对象(让我们给它们标注A和B),您可以将指向A中函数的指针传递给B对象,并从B中调用A中的函数。称为回调,并且被相当频繁地使用。

0

主要的原因是你可以将函数作为参数传递给其他函数。例如,想象一下你想实现一个forEach()函数,该函数对存储在数组中的数据进行操作。然后,你需要forEach()函数将数组作为参数,并且希望将这个函数应用于每个元素。

这是关于我能想到的最简单的例子,但您可以想象其他情况下将函数传递给其他函数可能有用。

另见:https://en.wikipedia.org/wiki/Functional_programming

相关问题