讲述Boost库使用说明及其介绍

Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库,Boost中比较有名气的有这么几个库:

Regex  


正则表达式库  


 


Spirit  


LL parser framework,用C++代码直接表达EBNF  


 


Graph  


图组件和算法  


 


Lambda  


在调用的地方定义短小匿名的函数对象,很实用的functional功能  


 


concept check  


检查泛型编程中的concept  


 


Mpl  


用模板实现的元编程框架  


 


Thread  


可移植的C++多线程库  


 


Python  


把C++类和函数映射到Python之中  


 


Pool  


内存池管理  


 


smart_ptr 


Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。Boost总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的强调,是编写平台无关,现代Boost库的开发者必备的工具。但是Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。

并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。

其实,对于这个问题,Bjarne已经宣传了十年。早在99年的时候Bjarne就写了“Learning C++ as A New Language”,并在好几篇技术访谈(这里,这里,这里,还有这里)里面提到如何正确对待和使用C++中支持的多种抽象机制的问题。Andrew Koenig也写了一本现代C++教程《Accelerated C++》(这本书后面还会提到)。

然而这么多年来,Boost库社群的状况改善了吗?就我所知,就算有改善,也是很小的。学习者还是盲目钻语言细节,只见树木不见森林;网上还是弥漫着各种各样的“技术”文章和不靠谱的“学习C++的XX个建议”;一些业界的有身份的专家还是在一本接一本的出语言孔乙己的书(写一些普通程序员八辈子用不着的技巧和碰不着的角落);而业界真正使用C++的公司在面试的时候还总是问一些边边角角的细节问题,而不是考察编程的基本素养(不,掌握所有的语言细节也不能让你成为一个合格的程序员)。这个面试理念是错误的。

相关推荐