Boost C++ 库

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

入门 - Boost C++ 函数库
PrevUpHomeNext

入门

安装库

该库仅包含头文件,因此没有安装过程。boost 头文件目录必须在包含路径中。有许多头文件提供不同的功能。

  • lambda/lambda.hpp 定义了用于各种 C++ 运算符的 lambda 表达式,请参阅 “运算符表达式”

  • lambda/bind.hpp 定义了最多 9 个参数的 bind 函数,请参阅 “绑定表达式”

  • lambda/if.hpp 定义了 if 语句和条件运算符的 lambda 函数等价物,请参阅 “控制结构的 Lambda 表达式”(包含 lambda.hpp)。

  • lambda/loops.hpp 定义了循环构造的 lambda 函数等价物,请参阅 “控制结构的 Lambda 表达式”

  • lambda/switch.hpp 定义了 switch 语句的 lambda 函数等价物,请参阅 “控制结构的 Lambda 表达式”

  • lambda/construct.hpp 提供了用于编写包含构造函数、析构函数、new 和 delete 调用以及其他工具的 lambda 表达式,请参阅 “构造与析构”(包含 lambda.hpp)。

  • lambda/casts.hpp 提供了各种转换的 lambda 版本,以及 sizeoftypeid,请参阅 “转换表达式”

  • lambda/exceptions.hpp 提供了在 lambda 函数中抛出和捕获异常的工具,请参阅 “异常”(包含 lambda.hpp)。

  • lambda/algorithm.hpplambda/numeric.hpp(参见标准 algorithmnumeric 头文件)允许嵌套调用 STL 算法,请参阅 “嵌套 STL 算法调用”

包中的任何其他头文件都用于内部使用。此外,该库依赖于另外两个 Boost 库:Tuple [tuple]type_traits [type_traits] 库,以及 boost/ref.hpp 头文件。

所有定义都放在 boost::lambda 命名空间及其子命名空间中。

本文档使用的约定

在大多数代码示例中,我们省略了 stdboost::lambda 命名空间中名称的命名空间前缀。假设隐式 using 声明已生效。

using namespace std;
using namespace boost::lambda;

生效。


PrevUpHomeNext