亲爱的读者:
欢迎您阅读本书。
如果您对泛型编程、库设计以及C++标准库感兴趣,那么本书就是为您准备的。因为本书所针对的读者是中高级C++程序员,所以本书中几乎没有涉及C++的基本概念。正如标题所暗示的那样,本书的重点是Boost库的常规用法、最佳实践、实现技术以及设计理念。
几乎从我发现Boost、Boost的开发者以及它所包含的那些非凡的库那天开始,我就想要写这本书。令人惊奇的是,像C++这样一门成熟的语言仍然能够为更高层次的抽象和技术细节提供探索空间,而所有这些都还不需要对语言进行任何修改。当然,这也正是C++与其他许多编程语言的区别所在:它是特意针对可扩展性进行设计的,而且语言本身对于泛型构造的支持也异常强大。Boost库和Boost社区本身所进行的正是这种探索。Boost的目的是为了使C++编程更加优雅、健壮和高效。Boost库已经取得了许多发现并且形成了许多最佳实践,现在C++社区面临一个重大的挑战:怎样与大家一起分享这些知识。孤立地看,这些重大的发现价值有限,但是当更多的人接受它们时,将会推动整个业界的发展。
本书展示了Boost库中一些最有用的库的使用方法,并且还讲授了它们用法的一些最佳实践,甚至还带领您走进幕后探询它们的工作机制。Boost库的许可证允许针对软件进行任何用途的(商业和非商业的)复制、使用和修改,所以大家所要做的事情就是访问www.boost.org网站,下载其最新版本即可。
所有C++标准库的狂热爱好者都知道,标准库正在进行新一轮的修订。从标准化的观点出发,C++标准库最有可能进行以下3个方面的修订:
● 修正有问题的库
● 增加一些现有库所欠缺的特性
● 添加新库以提供现有标准库所欠缺的功能
Boost库以不同的方式涵盖了上述3个方面。本书所覆盖的12个库中,有6个库已经为即将发布的C++库技术报告(Library Technical Report)所接受,这意味着它们很有可能成为下一版本的标准库的成员。因此,学习这些库具有长远的价值。希望大家能认为本书是一个很有用的工具,可以更好地帮助大家使用、理解和扩展Boost库。希望在本书的帮助下,大家可以把这些库以及它们所包含的思想整合到自己的设计和实现中。而这就是所谓的重用(reuse)。
谢谢阅读本书。
BjÖrn Karlsson






