来福网

函数对象

函数对象(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;}

后台-插件-广告管理-内容底部广告位PC端
后台-插件-广告管理-内容底部广告位手机端

评论

全部评论