Tag: 高阶函数

C中的高阶函数

是否有一种“适当的”方式在C中实现更高阶的函数。 我对这里的可移植性和语法正确性等问题非常好奇,如果有多种方法,那么优点和缺点是什么。 编辑:我想知道如何创建更高阶函数的原因是我编写了一个系统来将PyObject列表(在调用python脚本时得到)转换为包含相同数据但以不同方式组织的C结构列表依赖于python.h库。 所以我的计划是有一个函数,它迭代pythonic列表并在列表中的每个项目上调用一个函数,并将结果放在一个列表中然后返回。 所以这基本上是我的计划: typedef gpointer (converter_func_type)(PyObject *) gpointer converter_function(PyObject *obj) { // do som stuff and return a struct cast into a gpointer (which is a void *) } GList *pylist_to_clist(PyObject *obj, converter_func_type f) { GList *some_glist; for each item in obj { some_glist = g_list_append(some_glist, f(item)); } return some_glist; } void some_function_that_executes_a_python_script(void) […]