Boost程序库完全开发指南-深入C++准标准库
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787121115776
- 装帧:暂无
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:578
- 出版时间:2010-09-01
- 条形码:9787121115776 ; 978-7-121-11577-6
本书特色
站在c++98的*高峰迎接c++0x的曙光
深入c++“准”标准库,boost你的力量
内容简介
boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的c++程序库,有着“c++‘准’标准库”的美誉。
它由c++标准委员会部分成员所设立的boost社区开发并维护,使用了许多现代c++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了c++的功能和表现力,能够使c++软件开发更加简洁、优雅、灵活和高效。
本书基于boost1.42版,介绍了其中的所有99个库,并且详细深入地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速理解掌握boost的用法以及应用于实际的开发工作中。
本书内容丰富、结构严谨、详略得当、讲解透彻,带领读者领略了c++的*新前沿技术,相信会是每位c++程序员的**工具书。
目录
第1章 boost程序库总论
第2章 时间与日期
第3章 内存管理
第4章 实用工具
第5章 字符串与文本处理
第6章 正确性与测试
第7章 容器与数据结构
第8章 算法
第9章 数学与数字
第10章 操作系统相关
第11章 函数与回调
第12章 并发编程
第13章 编程语言支持
第14章 其他boost组件
节选
《Boost程序库完全开发指南:深入C++"准"标准库》内容简介:Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。它由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简洁、优雅、灵活和高效。《Boost程序库完全开发指南:深入C++"准"标准库》基于Boost1.42版,介绍了其中的所有99个库,并且详细深入地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速理解掌握Boost的用法以及在实际应用开发工作中。《Boost程序库完全开发指南:深入C++"准"标准库》内容丰富、结构严谨、详略得当、讲解透彻,带领读者领略了C++的*新前沿技术,相信会是每位C++程序员的**工具书。
相关资料
推荐序 *近一年我电话面试了数十位 c++ 应聘者,惯用的暖场问题是“工作中使用过 stl 的哪些组件?使用过 boost 的哪些组件?”。得到的答案大多集中在 vector、map 和 shared_ptr。如果对方是在校学生,我一般会问问 vector 或 map 的内部实现、各种操作的复杂度以及迭代器失效的可能场景。如果是有经验的程序员,我还会追问 shared_ptr 的线程安全性、循环引用的后果及如何避免、weak_ptr 的作用等。如果这些都回答得不错,进一步还可以问问如何实现线程安全的引用计数,如何定制删除动作等等。这些问题让我能迅速辨别对方的 c++ 水平。 我之所以在面试时问到 boost,是因为其中的许多组件确实可以用于编写可维护的产品代码。boost 包含近百个程序库,其中不乏具有工程实用价值的佳品。每个人口味与技术背景不一样,对 boost 的取舍也不一样。就我的个人经验而言,首先可以使用绝对无害的库,例如 noncopyable、scoped_ptr、static_assert 等,这些库的学习和使用都比较简单,容易入手。其次,有些功能自己实现起来并不困难,正好 boost 里提供了现成的代码,那就不妨一用,比如date_time 和 circular_buffer 等。然后,在新项目中,对于消息传递和资源管理可以考虑采用更加现代的方式,例如用 function/bind 在某些情况下代替虚函数作为库的回调接口、借助shared_ptr实现线程安全的对象回调等等。这二者会影响整个程序的设计思路与风格,需要通盘考虑,如果正确使用智能指针,在现代 c++ 程序里一般不需要出现 delete 语句。*后,对某些性能不佳的库保持警惕,比如 lexical_cast。总之,在项目组成员人人都能理解并运用的基础上,适当引入现成的 boost 组件,以减少重复劳动,提高生产力。 boost 是一个宝库,其中既有可以直接拿来用的代码,也有值得借鉴的设计思路。试举一例:正则表达式库 regex 对线程安全的处理。 早期的 regex 类不是线程安全的,它把“正则表达式”和“匹配动作”放到了一个类里边。由于有可变数据,regex 的对象不能跨线程使用。如今的 regex 明确地区分了不可变(immutable)与可变(mutable)的数据,前者可以安全地跨线程共享,后者则不行。比如正则表达式本身(basic_regex)与一次匹配的结果(match_results)是不可变的;而匹配动作本身(match_regex)涉及状态更新,是可变的,于是用可重入的函数将其封装起来,不让这些数据泄露给别的线程。正是由于做了这样合理的区分,regex 在正常使用时就不必加锁。 donald knuth 在“coders at work”一书里表达了这样一个观点:如果程序员的工作就是摆弄参数去调用现成的库,而不知道这些库是如何实现的,那么这份职业就没啥乐趣可言。换句话说,固然我们强调工作中不要重新发明轮子,但是作为一个合格的程序员,应该具备自制轮子的能力。非不能也,是不为也。 c/c++ 语言的一大特点是其标准库可以用语言自身实现。c 标准库的 strlen、strcpy、strcmp 系列函数是教学与练习的好题材,c++ 标准库的 complex、string、vector 则是类、资源管理、模板编程的绝佳示范。在深入了解 stl 的实现之后,运用 stl 自然手到擒来,并能自动避免一些错误和低效的用法。 对于 boost 也是如此,为了消除使用时的疑虑,为了用得更顺手,有时我们需要适当了解其内部实现,甚至编写简化版用作对比验证。但是由于 boost 代码用到了日常应用程序开发中不常见的高级语法和技巧,并且为了跨多个平台和编译器而大量使用了预处理宏,阅读 boost 源码并不轻松惬意,需要下一番功夫。另一方面,如果沉迷于这些有趣的底层细节而忘了原本要解决什么问题,恐怕就舍本逐末了。 boost 中的很多库是按泛型编程的范式来设计的,对于熟悉面向对象编程的人而言,或许面临一个思路的转变。比如,你得熟悉泛型编程的那套术语,如concept、model、refinement,才容易读懂 boost.threads 的文档中关于各种锁的描述。我想,对于熟悉 stl 设计理念的人而言,这不是什么大问题。 在某些领域,boost 不是唯一的选择,也不一定是*好的选择。比如,要生成公式化的源代码,我会首选用脚本语言写一小段代码生成程序,而不用 boost.preprocessor;要在 c++ 程序中嵌入领域特定语言,我会首选用 lua 或其他语言解释器,而不用 boost.proto;要用 c++ 程序解析上下文无关文法,我会首选用 antlr 来定义词法与语法规则并生成解析器(parser),而不用 boost.spirit。总之,使用 boost 时心态要平和,别较劲去改造 c++ 语言。把它有助于提高生产力的那部分功能充分发挥出来,让项目从中受益才是关键。 要学习 boost,除了阅读其官方网站的文档、示例与源码之外,*好能有一本比较全面的中文书在手边随时翻阅。对于不谙英文的开发者,这更是可幸之至。您手上这本《boost 程序库完全开发指南》是很好的使用指南与参考手册。作者由浅入深地介绍了 boost 的大部分常用内容,能让读者迅速了解 boost,并从中找到自己需要的部分。拿到这本书稿之后,我有粗有细地阅读了一遍,总体来看,作者水平很高,也相当务实,对 c++ 和 boost 的理解与运用很到位,我从这本书学到了不少新知识。为此,我乐于向希望学习 boost 程序库的开发者推荐这本靠谱的书。 须知“功不唐捐”,作为一名现代 c++ 程序员,在 boost 上投入的精力定能获得回报。 陈硕 《代码大全》译者之一 2010年8月于中国•香港
作者简介
罗剑锋(网名Chrono),1996年就读于东北财经大学,1997年开始接触C/C++。1998年参加全国计算机等级考试,获高级程序员资质。2003年毕业于北京理工大学,获计算机专业硕士学位。目前供职于某部委下属软件公司,任项目经理,主要研究方向为C/C++、设计模式、密码学、数据库、嵌入式系统开发。业余爱好是阅读、欣赏音乐和旅游。
-
MySQL数据库案例教程
¥34.9¥49.8 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
删繁就简-单片机入门到精通
¥27.3¥39.0 -
计算
¥92.2¥128.0 -
秒懂剪映应用技巧
¥43.7¥59.8 -
抖音短视频
¥18.1¥42.0 -
C语言程序设计
¥31.9¥45.5 -
C程序设计(第五版)
¥34.3¥49.0 -
C语言程序设计(第4版)
¥41.3¥59.0 -
人工智能
¥17.6¥55.0 -
UNIX环境高级编程(第3版)
¥174.0¥229.0 -
中文版PHOTOSHOP 2024完全自学教程
¥83.9¥119.8 -
智能控制与强化学习先进值迭代评判设计
¥104.9¥139.8 -
实战数据可视化Excel篇
¥27.4¥49.8 -
人工智能应用基础(第2版)
¥32.7¥46.0 -
做好课题申报:AI辅助申请书写作
¥48.9¥69.8 -
企业AI之旅
¥43.5¥79.0 -
高效写论文:AI辅助学术论文写作
¥48.9¥69.8 -
可编程控制器系统应用编程(中级)
¥41.9¥59.8 -
因果漫步
¥65.0¥89.0