C++程序设计语言(第4部分:标准库)(英文版·第4版)
作者 : [美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup)著
丛书名 : 经典原版书库
出版日期 : 2016-01-08
ISBN : 978-7-111-52487-8
定价 : 89.00元
教辅资源下载
扩展信息
语种 : 英文
页数 : 440
开本 : 16
原书名 : The C++ Programming Language,Fourth Edition
原出版社: Pearson Education Asia
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是C++领域最经典的参考书。介绍了C++11的各项新特性、功能等。主要内容包括C++的类型、对象、作用域、存储、计算基础及模块化知识,命名空间、源文件以及异常处理等;C++的抽象性,包括类、类继承、模版等;标准库,包括容器、算法、迭代器、字符串、流I/O以及C++的基本内存模型等。

图书特色

C++语言的设计者和最初实现者,C++语言ISO标准化工作的积极参与者,同时也是《C++程序设计语言》和《C++程序设计原理与实践》的作者。他是英国剑桥大学计算机科学专业博士,1979年加入美国新泽西贝尔实验室,从成立到2002年一直担任贝尔实验室大规模程序设计研究部门的负责人。2002年至2014年,Bjarne被评为德州农工大学工程学院计算机科学首席教授,哥伦比亚大学计算机科学系客座教授,德州农工大学计算机科学系杰出研究教授。多年来,他为剑桥大学、哥伦比亚大学和普林斯顿大学等知名学府的计算机科学教学事业倾注了大量的热情和精力。商业领域方面,Bjarne是RollApp 科技公司的资深顾问。2014年,Bjarne加入摩根士丹利纽约总部,任职技术与数据部门的董事总经理。他是美国国家工程院院士、IEEE会士和ACM会士,研究兴趣包括分布式系统、设计、程序设计技术、软件开发工具和程序设计语言。

C++语言之父的经典名著最新版本,全面掌握标准C++11及其编程技术的权威指南!
第1版1985年,第2版1991年,第3版1997年,特别版2000年,第4版2013年,经典无限延伸……

本书是在C++语言和程序设计领域具有深远影响、畅销不衰的经典著作,由C++语言的设计者和最初的实现者Bjarne Stroustrup编写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键性编程技术和设计技术。本书英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是无可取代的C++经典力作。
新的C++11标准使得程序员能以更清晰、更简明、更直接的方式表达思想,从而编写出更快速和高效的代码。在最新出版的第4版中,Stroustrup博士针对最新的C++11标准,为所有希望更有效使用C++语言编程的程序员重新组织、扩展和全面重写了这本C++语言的权威参考书和学习指南,细致、全面、综合阐述了C++语言及其基本特性、抽象机制、标准库和关键设计技术。
新的C++11标准的内容包括:
支持并发处理。
正则表达式、资源管理指针、随机数、改进的容器(包括哈希表)以及其他很多特性。
通用和一致的初始化机制、更简单的for语句、移动语义、基础的Unicode支持。
lambda、通用常量表达式、控制类缺省定义的能力、可变参数模板、用户定义的字面值常量。
兼容性问题。
影印版分两册出版,分别对应原书的第1~3部分和第4部分,本书为第4部分。

图书前言

所有计算机科学问题
都可以通过引入一个新的间接层次来解决,
那些已有过多间接层次的问题除外。
—David J. Wheeler
与C++98标准相比,C++11标准令我可以更清晰、更简洁而且更直接地表达我的想法。而且,新版本的编译器可以

对程序进行更好的检查并生成更快的目标程序。因此,C++11给人的感觉就像是一种新语言一样。
在本书中,我追求完整性(completeness)。我会介绍专业程序员可能需要的每个语言特性和标准库组件。对每

个特性或组件,我将给出:
基本原理:设计这个特性(组件)是为了帮助解决哪类问题?在其设计之下的原理是什么?它有什么根本的局

限?
规范:它该如何定义?我将以专业程序员为目标读者来选择内容的详略程度,对于要求更高的C++语言研究者,

有很多ISO标准的文献可供查阅。
例子:当单独使用这个特性或与其他特性组合使用时,如何用好它?其中的关键技术和习惯用法是怎样的?在

程序的可维护性和性能方面是否有一些隐含的问题?
多年来,无论是C++语言本身还是它的使用,都已经发生了巨大改变。从程序员的角度,大多数改变都属于语言的

改进。与之前的版本相比,当前的ISO C++标准(ISO/IEC 14882-2011,通常称为C++11)在编写高质量代码方面

无疑是一个好得多的工具。但是它好在哪里?现代C++语言支持什么样的程序设计风格和技术?这些技术靠哪些语

言特性和标准库特性来支撑?精炼、正确、可维护性好、性能高的C++代码的基本构建单元是怎样的?本书将回答

这些关键问题。很多答案已经不同于1985、1995或2005等旧版本的C++语言了:C++在进步。
C++是一种通用程序设计语言,它强调富类型轻量级抽象的设计和使用。C++特别适合开发资源受限的应用,例如

可在软件基础设施中发现的那些应用。那些花费时间学习高质量代码编写技术的程序员将会从C++语言受益良多。

C++是为那些严肃对待编程的人而设计的。人类文明已经严重依赖软件,编写高质量的软件非常重要。
目前已经部署的C++代码达到数十亿行,因此程序稳定性备受重视—很多1985年和1995年编写的C++代码仍然运行

良好,而且还会继续运行几十年。但是,对所有这些应用程序,都可以用现代C++语言写出更好的版本;如果你墨

守陈规,将来写出的代码将会是低质量、低性能的。对稳定性的强调还意味着,你现在遵循标准写出的代码,在

未来几十年中会运行良好。本书中所有代码都遵循2011 ISO C++标准。
本书面向三类读者:
想知道最新的2011 ISO C++标准都提供了哪些新特性的C++程序员。
好奇C++到底提供了哪些超越C语言的特性的C程序员。
具备Java、C#、Python和Ruby等编程语言背景,正在探寻“更接近机器”的语言,即更灵活、提供更好的编译

时检查或是更好性能的语言的程序员。
自然,这三类读者可能是有交集的—一个专业软件开发者通常掌握多门编程语言。
本书假定目标读者是程序员。如果你提问“什么是for循环?”或是“什么是编译器?”,那么本书现在还不适合

你,我向你推荐我的另一本书《C++程序设计原理与实践》,这本书适合作为程序设计和C++语言的入门书籍。而

且,我假定读者是较为成熟的软件开发者。如果你提问“为什么要费力进行测试?”或是“所有语言基本都是一

样的,给我看语法就可以了”,或者确信存在一种适合所有任务的完美语言,那么本书也不适合你。
相对于C++98,C++11提出了哪些改进和新特性呢?适合现代计算机的机器模型会涉及到大量并发处理。为此,

C++11提供了用于系统级并行编程(如使用多核)的语言和标准库特性。C++11还提供了正则表达式处理、资源管

理指针、随机数、改进的容器(包括哈希表)以及其他很多特性。此外,C++11还提供了通用和一致的初始化机制

、更简单的for语句、移动语义、基础的Unicode支持、lambda、通用常量表达式、控制类缺省定义的能力、可变

参数模板、用户定义的字面值常量和其他很多新特性。请记住,这些标准库和语言特性的目标就是支撑那些用来

开发高质量软件的程序设计技术。这些特性应该组合使用—将它们看作盖大楼的砖,而不应该相互隔离地单独使

用来解决特定问题。计算机是一种通用机器,而C++在其中起到了重要作用。特别是,C++的设计目标就是足够灵

活和通用,以便处理那些连它的设计者都未曾想象的未来的难题。
致谢
除了本书上一版致谢提及的人之外,我还要感谢Pete Becker、Hans-J. Boehm、Marshall Clow、Jonathan Coe、

Lawrence Crowl、Walter Daugherty、J. Daniel Garcia、Robert Harle、Greg Hickman、Howard Hinnant、

Brian Kernighan、Daniel Krügler、Nevin Liber、Michel Michaud、Gary Powell、Jan Christiaan van

Winkel和Leor Zolman。没有他们的帮助,本书的质量要差得多。
感谢Howard Hinnant为我解答很多有关标准库的问题。
Andrew Sutton是Origin库的作者,模板相关章节中很多模拟概念的讨论都是基于这个测试平台的。他还是矩阵库

的作者,这是第29章的主题。Origin库是开源的,在互联网上搜索“Origin”和“Andrew Sutton”就能找到。
感谢我指导的研究生毕业设计班,他们从“导学章节”中找出的问题比其他任何人都多。
假如我能遵照审阅人的所有建议,毫无疑问会大幅度提高本书的质量,但篇幅上也会增加数百页。每个专家审阅

人都建议增加技术细节、进阶示例和很多有用的开发规范;每个新手审阅人(或教育工作者)都建议增加示例;

而大多数审阅人都(正确地)注意到本书的篇幅可能过长了。
感谢普林斯顿大学计算机科学系,特别感谢Brian Kernighan教授,在我利用部分休假时间撰写此书时给予我热情

接待。
感谢剑桥大学计算机实验室,特别感谢Andy Hopper教授,在我利用部分休假时间撰写此书时给予我热情接待。
感谢我的编辑Peter Gordon以及他在Addison-Wesley的出版团队,感谢你们的帮助和耐心。
Bjarne Stroustrup
于得克萨斯大学城

上架指导

计算机\程序设计

封底文字

C++语言之父的经典名著最新版本,全面掌握标准C++11及其编程技术的权威指南!
第1版1985年,第2版1991年,第3版1997年,特别版2000年,第4版2013年,经典无限延伸……

本书是在C++语言和程序设计领域具有深远影响、畅销不衰的经典著作,由C++语言的设计者和最初的实现者Bjarne Stroustru编写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键性编程技术和设计技术。本书英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是无可取代的C++经典力作。

新的C++11标准使得程序员能以更清晰、更简明、更直接的方式表达思想,从而编写出更快速和高效的代码。在最新出版的第4版中,Stroustrup博士针对最新的C++ 11标准,为所有希望更有效使用C++语言编程的程序员重新组织、扩展和全面重写了这本C++语言的权威参考书和学习指南,细致、全面和综合阐述了C++语言及其基本特性、抽象机制、标准库和关键设计技术。

新的C++ 11标准的内容包括:
 支持并发处理。
 正则表达式、资源管理指针、随机数、改进的容器(包括哈希表)以及其他很多特性。
 通用和一致的初始化机制、更简单的for语句、移动语义、基础的Unicode支持。
 lambda、通用常量表达式、控制类缺省定义的能力、可变参数模板、用户定义的字面值常量。
 兼容性问题。

图书目录

第一部分 介绍     1
第1章 致读者 3
第2章 C++概览:基本特性 37
第3章 C++概览:抽象机制 59
第4章 C++概览:容器和算法 87
第5章 C++概览:并发和工具 111
第二部分 基本特性   133
第6章 类型和声明 135
第7章 指针、数组和引用 171
第8章 结构、联合和枚举 201
第9章 语句 225
第10章 表达式 241
第11章 其他操作选讲 273
第12章 函数 305
第13章 异常处理 343
第14章 命名空间 389
第15章 源文件和程序 419
第三部分 抽象机制   447
第16章 类 449
第17章 构造、清理、拷贝和移动 481
第18章 重载 527
第19章 特殊运算符 549
第20章 派生类 577
第21章 类层次 613
第22章 运行时类型信息 641
第23章 模板 665
第24章 泛型程序设计 699
第25章 特例化 721
第26章 实例化 741
第27章 模板和层次 759
第28章 元程序设计 779
第29章 一个矩阵设计 827
第四部分 标准库   857
第30章 标准库概览 859
第31章 STL容器 885
第32章 STL算法 927
第33章 STL迭代器 953
第34章 内存和资源 973
第35章 工具 1009
第36章 字符串 1033
第37章 正则表达式 1051
第38章 I/O流 1073
第39章 区域设置 1109
第40章 数值 1159
第41章 并发 1191
第42章 线程和任务 1209
第43章 C标准库 1253
第44章 兼容性 1267

Contents
Part I: Introductory Material
1. Notes to the Reader ................................................... 3
2. A Tour of C++: The Basics ......................................................... 37
3. A Tour of C++: Abstraction Mechanisms ................................... 59
4. A Tour of C++: Containers and Algorithms ............................... 87
5. A Tour of C++: Concurrency and Utilities ................................. 111
Part II: Basic Facilities 133 133
6. Types and Declarations ................................................... 135
7. Pointers, Arrays, and References ................................................ 171
8. Structures, Unions, and Enumerations ........................................ 201
9. Statements ............................................... 225
10. Expressions ....................................................... 241
11. Select Operations ................................................ 273
12. Functions ............................................................. 305
13. Exception Handling ............................................ 343
14. Namespaces ..................................................... 389
15. Source Files and Programs .................................................. 419
Part III: Abstraction Mechanisms 447 447
16. Classes .................................................................. 449
17. Construction, Cleanup, Copy, and Move ................................ 481
18. Overloading .......................................................... 527
19. Special Operators .................................................... 549
20. Derived Classes .................................................... 577
21. Class Hierarchies ................................................... 613
22. Run-Time Type Information ......................................... 641
23. Templates .......................................................... 665
24. Generic Programming ................................................. 699
25. Specialization ....................................... 721
26. Instantiation .................................................... 741
27. Templates and Hierarchies ............................................... 759
28. Metaprogramming ..................................................... 779
29. A Matrix Design ..................................................... 827
Part IV: The Standard Library 857
30. Standard Library Summary ................................................. 859
31. STL Containers .......................................................... 885
32. STL Algorithms ......................................................... 927
33. STL Iterators ..................................................... 953
34. Memory and Resources .............................................. 973
35. Utilities .............................................. 1009
36. Strings .............................................................. 1033
37. Regular Expressions ................................................... 1051
38. I/O Streams .............................................................. 1073
39. Locales .............................................................. 1109
40. Numerics .................................................................. 1159
41. Concurrency ................................................... 1191
42. Threads and Tasks ................................................ 1209
43. The C Standard Library .............................................. 1253
44. Compatibility ............................................................ 1267

 由于篇幅很长,本书影印版分为两册。原书第1~3部分为上册,第4部分为下册。—编辑注

教学资源推荐
作者: 杨颂华 熊海灵 主编 杨明 黄春伦 等编著
作者: 主编 牛力 韩小汀 参编 闫石 杨凯 刘楠楠
作者: John Lewis Peter J. DePasquale;Joseph Chase;
作者: 【美】梁勇(Y.Daniel Liang) 著
参考读物推荐
作者: 冯伟兴 梁洪 王臣业 编著
作者: 吴寿鹤、冯翔、刘涛、周广益 编著
作者: 杨镇 姜信宝 朱智胜 盖方宇 著
作者: 张路斌 著