前言亲爱的读者,
欢迎来到《超越C++标准库:Boost库导引》。
如果你对泛型编程、库设计、以及C++标准库感兴趣,这本书就是为你准备的。因为本书所针对的读者是中高级的C++程序员,C++的一些基础概念在本书中几乎没有涉及。正如标题所暗示的那样,本书的重点是Boost库的常规用法、好的习惯、实现技术以及设计理念。
几乎从我发现Boost和它里面那些非凡的库,认识它幕后的那些人那天开始,我就想要写这本书。真是很神奇,像C++这样一门成熟的语言仍然能够为更高层次的抽象和技术细节提供探索空间,而所有这些都不需要语言上的改动。当然,这也正是C++与其它许多编程语言的区别所在:它是特意针对可扩展性进行设计的,而且语言本身对于通用构件的支持是异常强大的。Boost库和Boost社区本身所进行的正是这种探索。Boost的目的是为了让C++编程更加优雅、健壮、高效(productive)。Boost库已经取得了很多发现并且形成了许多好的习惯用法,现在C++社区面临一个重大的挑战:与大家一起分享这些知识。孤立的看,这些重大的发现价值有限,但是把它们展示给更多人知道,会推动整个业界的发展。
Boost库非常的有用,本书展示了如何使用从Boost库里面挑出来的一些库,并且教授了它们的一些好的惯用法,甚至还走进幕后探询它们的工作机理。Boost的授权允许针对软件进行任何用途的(商业和非商业的)拷贝、使用,以及修改,所以你所需要做的就是访问www.boost.org下载最新版本就可以了。
所有C++标准库的狂热的爱好者都知道,标准库正在进行新一轮的修订。从标准化的观点来看,C++标准库有最可能进行以下三个方面的改变:
修正有问题的库。在现有库的基础上完善一些欠缺的功能(Augmenting missing features to existing libraries)。
添加新的库用以提供现有标准库所欠缺的功能。Boost库以不同的方式涵盖了以上三个方面。本书所覆盖的12个库,有6个已经被采纳进入将要到来的标准库技术报告,这意味着它们很可能成为下一版标准库的一部分。所以,学习这些库有着很大的长远价值。我希望你能觉得本书是一个很有用的工具,让它帮助你更好地使用、理解,以及扩展Boost库。有了这些优势,你就可以试着把这些库以及它们所包含的思想整合到你自己的设计和实现中去。我想,这就是重用(reuse)。
谢谢。
Björn Karlsson