当前位置:首页 > 网络编程 > 编程语言与程序设计 > Boost程序库完全开发指南
出版社:电子工业
出版日期:2012-5
ISBN:9787121166297
作者:罗剑锋
页数:578页
章节摘录
版权页: 插图: 1.1.2安装Boost 从Boost网站(www.boost.org)下载boost_1_42_0.7z,一个约30MB左右大小的压缩包文件,使用7Zip、WinRAR或者其他工具把该文件解压缩到硬盘任意位置即可完成安装,本书使用的路径是:D:\boost。 注意:Boost1.42版解压缩后约有200MB,请确保硬盘有足够的空间。 1.1.3使用Boost Boost库大部分组件(近90%)不需要编译,直接包含头文件即可。例如,如果要使用boost::tribool,只需要在C++源文件中添加如下include语句即可(当然,接下来的代码可能还需要using namespace boost;): #include //使用tribool库 细心的读者会发现,Boost库的头文件与我们平常所用的头文件(*.h)或c++标准库头文件(没有后缀名)不同,这正是Boost的独特之处。它把C++类的声明和实现都放在了一个文件中,而不是分成两个文件,也就是“.h+.cpp”,故文件的后缀是.hpp。 之所以这么做,当然是有理由的。首先就是与普通的C头文件(*.h)区分,另一个很重要的原因就是使Boost库不需要预先编译,直接引入程序员的工程即可编译链接,方便了库的使用。最后一个(无奈的)原因则是c++编译器的限制,许多编译器尚不支持c++标准提出的模板的分离编译模式(export关键字),而Boost库大量使用了模板,为了保持与各个编译器的兼容,也不得不采用这种.hpp的头文件形式。 剩下的共十五个库(包括date_time、regex、program_options、test、thread、python等)必须编译成静态库或者动态库后才能使用。不过有个好消息,其中有的库不需要编译也可以使用部分功能,而更好的消息是有的库已经有了不需要编译的替代品(xpressive可替代regex、signals2可替代signals)。 在Windows下的VC编译器支持自动链接技术,VC程序员可以不必为链接静态库或动态库、调试库或发行库等问题而费心了。其他编译器就没有这样幸运,必须在命令行上手工指定链接库。 1.2关于STLport 本节将介绍C++标准库的一个高效实现——STLport,它是本书的默认标准库配置,用于配合Boost程序库工作。 1.2.1 什么是STLport STLport是一个完全符合C++98标准(及2003年修订)的一个免费的c++标准库实现。它是由俄罗斯人Boris Fomitchev发起的开源项目,目的是基于著名的SGISTL开发一个可移植到各种平台上使用的高效的C++标准库。 STLport具有很多其他STL实现所没有的优点。首先是高度的可移植性,可以配合市面上几乎所有的操作系统和编译器使用,使开发的程序能够在不同的编译平台上获得一致的标准库实现。其次是性能表现优秀,其原始版本SGISTL就以高效而闻名,STLport在移植时也特别注重性能与效率,而且100%完全符合C++标准规范。第三个优点是在标准之外增加了若干有用的扩展,如rope(增强的字符串类)、slist(单链表数据结构)、hash_map(散列映射容器),以及支持线程安全。
内容概要
罗剑锋(网名Chrono),1996年就读于东北财经大学,1997年开始接触C/C++。1998年参加全国计算机等级考试,获高级程序员资质。2003年毕业于北京理工大学,获计算机专业硕士学位。目前供职于某部委下属软件公司,任项目经理,主要研究方向为C/C++、设计模式、密码学、数据库、嵌入式系统开发。业余爱好是阅读、欣赏音乐和旅游。
书籍目录
第0章 导读
第1章 Boost程序库总论
第2章 时间与日期
第3章 内存管理
第4章 实用工具
第5章 字符串与文本处理
第6章 正确性与测试
第7章 容器与数据结构
第8章 算法
第9章 数学与数字
第10章 操作系统相关
第11章 函数与回调
第12章 并发编程
第13章 编程语言支持
第14章 其他Boost组件
第15章 Boost与设计模式
第16章 结束语
附录A 推荐书目
附录B 网络资源
附录C C++标准简述
附录D STL简述
附录E ref_array实现代码
编辑推荐
《Boost程序库完全开发指南:深入C++"准"标准库(修订版)》内容丰富、结构严谨、详略得当、讲解透彻,带领读者领略了C++的最新前沿技术,相信会是每位C++程序员的必备工具书。
作者简介
《Boost程序库完全开发指南:深入C++"准"标准库(修订版)》基于Boost1.42版,介绍了其中的所有99个库,并且详细深入地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速地理解掌握Boost的用法及其在实际开发工作中的应用。
Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。Boost由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简捷、优雅、灵活和高效。
图书封面