函数对象(function object)是一个程序设计的对象允许被当作普通函数来调用。
函数对象与函数指针相比,有两个优点:第一是编译器可以内联执行函数对象的调用;第二是函数对象内部可以保持状态。
函数式程序设计语言还支持闭包,例如,first-class函数支持在其创建时用到的函数外定义的变量的值保持下来,成为一个函数闭包。
传统的C/C++函数指针:
#include stdlib.h/* Callback function, returns 0 if a b, 0 if a b, 0 if a == b */int compareInts(const void* a, const void* b){ return *(const int *)a - *(const int *)b;}...// prototype of qsort is// void qsort(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *));...int main(void){ int items = { 4, 3, 1, 2 }; qsort(items, sizeof(items) / sizeof(items), sizeof(items), compareInts); return 0;}
热门信息
阅读 (153)
1 如何红喜事选日子,这些方法非常重要阅读 (141)
2 鼠年生人运势怎么样好不好呀女孩 鼠年生人运势怎么样好不好呀女阅读 (130)
3 2024年属狗人的运势 可能财运并不理想阅读 (130)
4 微诗词文学社201112期《原创精选》诗词作品阅读 (111)
5 八字免费测算,解开你命运的谜团!