C++标准库(第2版)

C++标准库(第2版)

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
9.6141 评价豆瓣读书

作品简介

本书是全球C++经典权威参考书籍时隔12年,基于C++11标准的全新重大升级。标准库提供了一组公共类和接口,极大地拓展了C++语言核心功能。本书详细讲解了每一标准库组件,包括其设计目的和方法、复杂概念的剖析、实用而高效的编程细节、存在的陷阱、重要的类和函数,又辅以大量用C++11标准实现的实用代码范例。除覆盖全新组件、特性外,本书一如前版,重点着眼于标准模板库(STL),涉及容器、迭代器、函数对象以及STL算法。此外,本书同样关注lambda表达式、基于区间的for循环、move语义及可变参数模板等标准库中的新式C++编程风格及其影响。

作者:

Nicolai M.Josuttis,是一名独立技术顾问,为电信、交通、金融和制造业设计过大中型软件系统。他曾是C++标准委员会库工作小组成员,因其权威著作而在编程领域声名鹊起。除了最为畅销的《C++标准库》(第1版出版于1999年),其著作还包括C++ Templates:The Complete Guide(与David Vandevoorde合著,由Addison-Wesley于2003年出版),以及SOA in Practice:The Art of Distributed System Design(由O’Reilly Media于2007年出版,简体中文版《SOA实践指南——分布式系统设计的艺术》由电子工业出版社于2008年出版)。

译者:

侯捷,计算机技术书籍的作家、译者、书评人,长期活跃于C++技术分享与教学领域。著有《深入浅出MFC》《多型与虚拟》《STL源码剖析》《无责任书评》三卷,译有众多脍炙人口的权威技术书籍,包括Meyers所著的“Effective C++”系列。侯捷兼任教职于元智大学、同济大学、南京大学。

作品目录

  1. 内容简介
  2. 第2版序言
  3. 第2版致谢
  4. 第1版序言
  5. 第1版致谢
  6. 第1章 关于本书
  7. 1.1 缘起
  8. 1.2 阅读前的必要基础
  9. 1.3 本书风格与结构
  10. 1.4 如何阅读本书
  11. 1.5 目前发展情势
  12. 1.6 范例代码及额外信息
  13. 1.7 反馈
  14. 第2章 C++及标准库简介
  15. 2.1 C++Standard的历史
  16. 2.2 复杂度与Big-O标记
  17. 第3章 语言新特性
  18. 3.1 C++11语言新特性
  19. 3.2 虽旧犹新的语言特性
  20. 第4章 一般概念
  21. 4.1 命名空间(Namespace)std
  22. 4.2 头文件(Header File)
  23. 4.3 差错和异常(Error and Exception)的处理
  24. 4.4 Callable Object(可被调用的对象)
  25. 4.5 并发与多线程
  26. 4.6 分配器(Allocator)
  27. 第5章 通用工具
  28. 5.1 Pair和Tuple
  29. 5.2 Smart Pointer(智能指针)
  30. 5.3 数值的极值(Numeric Limit)
  31. 5.4 Type Trait和Type Utility
  32. 5.5 辅助函数
  33. 5.6 Class ratio<>的编译期分数运算
  34. 5.7 Clock和Timer
  35. 5.8 头文件<cstddef>、<cstdlib>和<cstring>
  36. 第6章 标准模板库
  37. 6.1 STL组件(Component)
  38. 6.2 容器(Container)
  39. 6.3 迭代器(Iterator)
  40. 6.4 算法(Algorithm)
  41. 6.5 迭代器之适配器(Iterator Adapter)
  42. 6.6 用户自定义的泛型函数(User-Defined GenericFunction)
  43. 6.7 更易型算法(Manipulating Algorithm)
  44. 6.8 以函数作为算法的实参
  45. 6.9 使用Lambda
  46. 6.10 函数对象(Function Object)
  47. 6.11 容器内的元素
  48. 6.12 STL内部的错误和异常
  49. 6.13 扩展STL
  50. 第7章 STL容器
  51. 7.1 容器的共通能力和共通操作
  52. 7.2 Array
  53. 7.3 Vector
  54. 7.4 Deque
  55. 7.5 List
  56. 7.6 Forward List
  57. 7.7 Set和Multiset
  58. 7.8 Map和Multimap
  59. 7.9 无序容器(Unordered Container)
  60. 7.10 其他STL容器
  61. 7.11 实现Reference语义
  62. 7.12 各种容器的使用时机
  63. 第8章 细探STL容器成员
  64. 8.1 容器内的类型
  65. 8.2 创建、复制和销毁(Create,Copy,and Destroy)
  66. 8.3 非更易型操作(Nonmodifying Operation)
  67. 8.4 赋值(Assignment)
  68. 8.5 元素直接访问(Direct Element Access)
  69. 8.6 “产出迭代器”之各项操作
  70. 8.7 安插和移除(Inserting and Removing)元素
  71. 8.8 List和Forward List的特殊成员函数
  72. 8.9 容器的策略接口(Policy Interface)
  73. 8.10 对分配器(Allocator)的支持
  74. 第9章 STL迭代器
  75. 9.1 迭代器头文件(Header Files for Iterators)
  76. 9.2 迭代器种类(Iterator Category)
  77. 9.3 迭代器相关辅助函数
  78. 9.4 迭代器适配器(Iterator Adapter)
  79. 9.5 Iterator Trait(迭代器特性)
  80. 9.6 用户自定义(User-Defined)迭代器
  81. 第10章 STL函数对象及Lambda
  82. 10.1 Function Object(函数对象)的概念
  83. 10.2 预定义的Function Object和Binder
  84. 10.3 运用Lambda
  85. 第11章 STL算法
  86. 11.1 算法头文件(Header File)
  87. 11.2 算法概观
  88. 11.3 辅助函数
  89. 11.4 for_each()算法
  90. 11.5 非更易型算法(Nonmodifying Algorithm)
  91. 11.6 更易型算法(Modifying Algorithm)
  92. 11.7 移除型算法(Removing Algorithm)
  93. 11.8 变序型算法(Mutating Algorithm)
  94. 11.9 排序算法(Sorting Algorithm)
  95. 11.10 已排序区间算法(Sorted-Range Algorithm)
  96. 11.11 数值算法(Numeric Algorithm)
  97. 第12章 特殊容器
  98. 12.1 Stack(堆栈)
  99. 12.2 Queue(队列)
  100. 12.3 Priority Queue(带优先级的队列)
  101. 12.4 细究Container Adapter
  102. 12.5 Bitset
  103. 第13章 字符串
  104. 13.1 String Class的目的
  105. 13.2 String Class细节描述
  106. 13.3 细究String Class
  107. 第14章 正则表达式
  108. 14.1 Regex的匹配和查找接口(Match and Search Interface)
  109. 14.2 处理“次表达式”(Subexpression)
  110. 14.3 Regex Iterator
  111. 14.4 Regex Token Iterator
  112. 14.5 用于替换的正则表达式
  113. 14.6 Regex Flag
  114. 14.7 Regex的异常(Exception)
  115. 14.8 Regex ECMAScript文法
  116. 14.9 其他文法
  117. 14.10 细究Basic Regex签名式
  118. 第15章 以Stream完成I/O
  119. 15.1 I/O Stream的共通基础
  120. 15.2 基本Stream Class和其对象
  121. 15.3 标准的Stream操作符<<和>>
  122. 15.4 Stream的状态(State)
  123. 15.5 标准I/O函数
  124. 15.6 操控器(Manipulator)
  125. 15.7 格式化(Formatting)
  126. 15.8 国际化(Internationalization)
  127. 15.9 文件访问(File Access)
  128. 15.10 为String而设计的Stream Class
  129. 15.11 “用户自定义类型”之I/O操作符
  130. 15.12 连接Input和Output Stream
  131. 15.13 Stream Buffer Class
  132. 15.14 关于效能(Performance)
  133. 第16章 国际化
  134. 16.1 字符编码和字符集
  135. 16.2 Locale(地域)概念
  136. 16.3 细究Locale
  137. 16.4 细究Facet
  138. 第17章 数值
  139. 17.1 随机数及分布(Random Number and Distribu-tion)
  140. 17.2 复数(Complex Number)
  141. 17.3 全局数值函数(Global Numeric Function)
  142. 17.4 Valarray
  143. 第18章 并发
  144. 18.1 高级接口:async()和Future
  145. 18.2 低层接口:Thread和Promise
  146. 18.3 细说启动线程(Starting a Thread)
  147. 18.4 线程同步化与Concurrency(并发)问题
  148. 18.5 Mutex和Lock
  149. 18.6 Condition Variable(条件变量)
  150. 18.7 Atomic
  151. 第19章 分配器
  152. 19.1 以应用程序开发者的角度使用Allocator
  153. 19.2 用户自定义的Allocator
  154. 19.3 以程序库开发者的角度使用Allocator
  155. 参考书目
  156. 新闻组及论坛(Newsgroup and Forum)
  157. 书籍和网站
载入中