本书的组织结构

本书分为三个主要部分,每部分包含关于一个特定领域的库,不过肯定也有一些重叠的地方。这种分类可以让你更容易地找到与你的任务相关的信息,也使得阅读本书时可以更方便地找到相关的主题。大多数情况下,每章讨论一个单独的库,但也有时会一章里讨论一小组的库。

排版及编码的风格尽量保持简单。在这方面有很多好的方法,我只是挑选了一种我认为大多数人会习惯的方式,这样可以更容易传递所要的信息。另外,本书的代码风格会通过避免把大括号独立写一行来尽量节省垂直空间。

虽然很多书的例子都大量使用了声明和指示符,这里不会这样。我会尽力让名字清楚明白。这样做有另一个好处,可以展示类型和函数从何而来。如果是从标准库来的,它会有前缀std::。如果是从Boost来的,它会有前缀boost::

本书介绍的一些库非常广泛,不可能详细解释这些库的所有各个方面。这种情况下,会有一个关于如何获得更多信息的注释,引用在线文档、相关文献等。同时,我会试图关注最常用的部分,和与C++标准库关系最密切的部分。

本书的第一部分是关于general libraries, 这些库非常有用,但不那么有吸引力。第二部分讨论重要的 data structures 和 containers。 第三部分讨论 higher-order programming。并不要求你必须按顺序来阅读这些库,但从最开始起按顺序进行肯定是无害的。

在深入到Boost库之前,会有一个对于目前可用的Boost库的概括介绍,向你介绍一下Boost库,并交待一下我在本书剩余部分要讨论的问题的背景。它对这个世界级的C++库集合的多功能性给出了一个有趣的介绍。