版权所有 © 2002-2005, 2010, 2014, 2015 Joel de Guzman, Dan Marsden, Thomas Heller, John Fletcher
根据 Boost 软件许可协议 1.0 版分发。(请参阅随附文件 LICENSE_1_0.txt 或访问 https://boost.ac.cn/LICENSE_1_0.txt)
目录
函数式编程之所以如此称呼,是因为程序完全由函数组成。主程序本身被编写为一个函数,它接收程序的输入作为其参数,并交付程序的输出作为其结果。通常,主函数根据其他函数定义,而其他函数又根据更多的函数定义,直到在底层函数是语言原语。
John Hughes-- 为什么函数式编程很重要
Phoenix 在 C++ 中实现了函数式编程 (FP)。Phoenix 的设计和实现深受 Yannis Smaragdakis 和 Brian McNamara 的 FC++ 以及 Jaakko Jaarvi 和 Gary Powell 的 BLL (Boost Lambda Library) 的高度影响。Phoenix 是 FC++ 和 BLL 的混合体,使用了 Spirit 内联解析器中使用的实现技术。
Phoenix 是一个仅包含头文件的库。它的设计非常模块化。人们可以提取并仅使用完整库的一小部分,真正将库分解成小块,而不用担心这些小块将无法再工作。该库以高度独立的模块和层组织。
Phoenix 库以逻辑模块组织。本文档为库中的每个模块提供用户指南和参考。一个简单而清晰的代码示例胜过数百行的文档;因此,用户指南以大量示例呈现,并以逐步方式进行注释和解释。用户指南基于示例:大量示例。
在用户手册的每个模块部分中,尽可能避免前向信息(即,引用尚未讨论的特定信息)。但是,在许多情况下,高级但相关的主题不可避免地与正常的讨论流程交织在一起。为了缓解这个问题,被归类为“高级”的主题可以首先跳过。
一些图标用于标记某些主题,以指示其相关性。这些图标在某些文本之前指示
除非另有说明,否则假定使用了代码
using namespace boost::phoenix;