# 本书的组织结构
本书分为三个主要部分,每部分包含关于一个特定领域的库,不过肯定也有一些重叠的地方。这种分类可以让你更容易地找到与你的任务相关的信息,也使得阅读本书时可以更方便地找到相关的主题。大多数情况下,每章讨论一个单独的库,但也有时会一章里讨论一小组的库。
排版及编码的风格尽量保持简单。在这方面有很多好的方法,我只是挑选了一种我认为大多数人会习惯的方式,这样可以更容易传递所要的信息。另外,本书的代码风格会通过避免把大括号独立写一行来尽量节省垂直空间。
虽然很多书的例子都大量使用了声明和指示符,这里不会这样。我会尽力让名字清楚明白。这样做有另一个好处,可以展示类型和函数从何而来。如果是从标准库来的,它会有前缀`std::`。如果是从Boost来的,它会有前缀`boost::`。
本书介绍的一些库非常广泛,不可能详细解释这些库的所有各个方面。这种情况下,会有一个关于如何获得更多信息的注释,引用在线文档、相关文献等。同时,我会试图关注最常用的部分,和与C++标准库关系最密切的部分。
本书的第一部分是关于general libraries, 这些库非常有用,但不那么有吸引力。第二部分讨论重要的 data structures 和 containers。 第三部分讨论 higher-order programming。并不要求你必须按顺序来阅读这些库,但从最开始起按顺序进行肯定是无害的。
在深入到Boost库之前,会有一个对于目前可用的Boost库的概括介绍,向你介绍一下Boost库,并交待一下我在本书剩余部分要讨论的问题的背景。它对这个世界级的C++库集合的多功能性给出了一个有趣的介绍。
- 序
- 前言
- Acknowledgments
- 关于作者
- 本书的组织结构
- Boost的介绍
- 字符串及文本处理
- 数 据结构, 容器, 迭代器, 和算法
- 函数对象及高级编程
- 泛 型编程与模板元编程
- 数学及数字处理
- 输入/输出
- 杂项
- Part I: 通用库
- Library 1. Smart_ptr
- Smart_ptr库如何改进你的程序?
- 何时我们需要智能指针?
- Smart_ptr如何适应标准库?
- scoped_ptr
- scoped_array
- shared_ptr
- shared_array
- intrusive_ptr
- weak_ptr
- Smart_ptr总结
- Library 2. Conversion
- Conversion 库如何改进你的程序?
- polymorphic_cast
- polymorphic_downcast
- numeric_cast
- lexical_cast
- Conversion 总结
- Library 3. Utility
- Utility 库如何改进你的程序?
- BOOST_STATIC_ASSERT
- checked_delete
- noncopyable
- addressof
- enable_if
- Utility 总结
- Library 4. Operators
- Operators库如何改进你的程序?
- Operators
- 用法
- Operators 总结
- Library 5. Regex
- Regex库如何改进你的程序?
- Regex 如何适用于标准库?
- Regex
- 用法
- Regex 总结
- Part II: 容器及数据结构
- Library 6. Any
- Any 库如何改进你的程序?
- Any 如何适用于标准库?
- Any
- 用法
- Any 总结
- Library 7. Variant
- Variant 库如何改进你的程序?
- Variant 如何适用于标准库?
- Variant
- 用法
- Variant 总结
- Library 8. Tuple
- Tuple 库如何改进你的程序?
- Tuple 库如何适用于标准库?
- Tuple
- 用法
- Tuple 总结
- Part III: 函数对象与高级编程
- Library 9. Bind
- Bind 库如何改进你的程序?
- Bind 如何适用于标准库?
- Bind
- 用法
- Bind 总结
- Library 10. Lambda
- Lambda 库如何改进你的程序?
- Lambda 如何适用于标准库?
- Lambda
- 用法
- Lambda 总结
- Library 11. Function
- Function 库如何改进你的程序?
- Function 如何适用于标准库?
- Function
- 用 法
- Function 总结
- Library 12. Signals
- Signals 库如何改进你的程序?
- Signals 如何适用于标准库?
- Signals
- 用法
- Signals 总结