我一直在读这篇文章:
http://en.wikipedia.org/wiki/Function_pointer,有点困惑.由于C/C++支持函数指针,这是不是意味着他们一般支持功能编程?请注意,我实际上并不想使用C或C进行功能编程,但我很好奇,因为我从来没有听说C或C支持这样的事情. (我知道C中存在许多功能编程语言的编译器,但这并不是我的意思是“支持”).
解决方法
编辑:我不知道为什么这个答案会这么讨厌.该问题具体涉及功能指针,以及它们的存在是否意味着C支持“一般功能编程”.
在一种技术上,不是非常有用的方式:是*. “功能”编程的真正本质是功能是价值观. C和C将不会给你任何帮助,如容易的创建和破坏的lexical closures,也不会有任何你喜欢的partial application.事实上,你可以模拟功能的外观有点像价值使用函数指针实际上只是等效表达语言的结果.试图把它与“功能性编程”相结合,真的在深入Turing tarpit中.
*对于一个真正的技术区别,C和C实际上没有任何函数类型的值.一个函数指针与函数值不同,即使它们看起来有点类似,如果你倾斜.