2010-01-18 86 views
0

正常函数和函数指针之间有什么区别。 我知道的一种情况是,如果您在软件堆栈中使用了一个库,其中 只给出函数指针,那么您可以填写稍后使用 的指针。函数指针和正常函数

+0

我假设这个问题与C语言有关? – hlovdal 2010-01-21 13:46:22

+0

是的,它适用于C lang – Sikandar 2010-01-22 06:17:03

回答

1

函数指针只是指向普通函数的指针。它可以像任何其他指针一样传递,并可以在创建位置以外的地方调用。

+0

你是否认同你可能认为的其他任何差异? – Sikandar 2010-01-18 13:01:43

2

通过函数指针调用函数意味着调用不能被内联;在某些情况下,这可能会导致相当的性能损失。 (例如,C的qsort()经历一个函数指针为每个比较,对C++的sort()能够内联进行比较)。

声明一个函数指针需要没有作为通常用作其他部件的非平凡的语法的语言,导致在阅读资料来源时,大多数人会产生“心理速度障碍”。它通常是由于这个原因而定义的。