使用指向函数的指针有哪些实际示例和应用?我不明白为什么有人需要使用它。
谢谢
两个主要原因:
1)您可以选择在某些情况下使用哪个功能。
2)你可以为另一个函数提供一个回调函数(例如C标准库函数qsort
将函数指针作为参数:你自己编写这个函数来告诉qsort
如何比较两个值)。
如果您有一个包含另一个对象的对象(让我们将它们标记为 A 和 B),您可以将指向 A 中的函数的指针传递给 B 对象,并从 B 中的 A 调用函数。这称为回调, 并且被相当频繁地使用。
主要原因是您可以将函数作为参数传递给其他函数。例如,假设您想要实现一个对存储在数组中的数据进行操作的 forEach() 函数。然后,您希望 forEach() 函数将数组以及您希望应用于每个元素的函数作为参数。
这是我能想到的最简单的例子,但您可以想象将函数传递给其他函数可能有用的其他情况。