Boost C++ 库

……是世界上备受推崇、设计精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

第 1 章。 Phoenix 3.2.0 - Boost C++ 函数库
Next

第 1 章。 Phoenix 3.2.0

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-- Why Functional Programming Matters

描述

Phoenix 在 C++ 中实现了函数式编程 (FP)。Phoenix 的设计和实现深受 Yannis Smaragdakis 和 Brian McNamara 的 FC++ 以及 Jaakko Jaarvi 和 Gary Powell 的 BLL (Boost Lambda Library) 的影响。Phoenix 是 FC++ 和 BLL 的结合,并使用了 Spirit 内联解析器中使用的实现技术。

Phoenix 是一个纯头文件库。其设计具有高度的模块化。用户可以仅提取并使用库的一小部分,字面意义上将库拆分成小的部分,而无需担心这些部分将无法工作。该库被组织成高度独立的模块和层。

如何使用本手册

Phoenix 库被组织成逻辑模块。本文档为库中的每个模块提供了用户指南和参考。一个简单清晰的代码示例胜过百行文档;因此,用户指南通过大量带有分步注释和解释的示例进行呈现。用户指南基于大量示例。

在每个模块的用户手册部分,尽可能避免前瞻性信息(即引用尚未讨论过的具体信息)。然而,在许多情况下,高级但相关的主题不可避免地会穿插在正常的讨论流程中。为缓解此问题,在初次阅读时可以跳过被归类为“高级”的主题。

一些图标用于标记某些具有指示性意义的主题。这些图标出现在一些文本之前,表示:

表 1.1。 图标

图标

名称

含义

注意

提供的信息是辅助性的,但将为读者提供对特定主题的更深入的见解。可以跳过。

警示

提供的信息至关重要。

提示

一条可能有用且有帮助的信息。


除非另有说明,否则假定 using namespace boost::phoenix;

致 Joel 的宝贝女儿 Phoenix


Next