函数对象(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;}
热门信息
阅读 (129)
1 童子命的口诀对照表,是不是童子命一查就知道阅读 (88)
2 让男人爱你的咒语——和合术咒语阅读 (71)
3 自己怎么简单的做和合术?找道长做快速挽回阅读 (70)
4 和合术真都有用吗?效果好吗?阅读 (68)
5 阳宅风水学入门图解大全100例,让你马上成为风水专家