最近我一直在思考如何用C(而不是C++)进行函数式编程。显然,C是一种过程化语言,本身并不真正支持函数式编程。
是否有任何编译器/语言扩展将一些函数式编程构造添加到语言中?GCC提供了nested functions作为语言扩展;嵌套函数可以访问父堆栈帧中的变量,但这离成熟的闭包还有很长的路要走。
例如,我认为在C中真正有用的一件事是,在任何需要函数指针的地方,你都可以传递一个lambda表达式,创建一个衰减为函数指针的闭包。C++0x将包含lambda表达式(我认为这很棒);然而,我正在寻找适用于纯C语言的工具。
编辑澄清一下,我并不是试图解决C中更适合函数式编程的特定问题;我只是好奇如果我想这样做的话会有什么工具。
https://stackoverflow.com/questions/216037
复制相似问题