C++标准库(第2版)
作品简介
本书是全球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++”系列。侯捷兼任教职于元智大学、同济大学、南京大学。
作品目录
- 内容简介
- 第2版序言
- 第2版致谢
- 第1版序言
- 第1版致谢
- 第1章 关于本书
- 1.1 缘起
- 1.2 阅读前的必要基础
- 1.3 本书风格与结构
- 1.4 如何阅读本书
- 1.5 目前发展情势
- 1.6 范例代码及额外信息
- 1.7 反馈
- 第2章 C++及标准库简介
- 2.1 C++Standard的历史
- 2.2 复杂度与Big-O标记
- 第3章 语言新特性
- 3.1 C++11语言新特性
- 3.2 虽旧犹新的语言特性
- 第4章 一般概念
- 4.1 命名空间(Namespace)std
- 4.2 头文件(Header File)
- 4.3 差错和异常(Error and Exception)的处理
- 4.4 Callable Object(可被调用的对象)
- 4.5 并发与多线程
- 4.6 分配器(Allocator)
- 第5章 通用工具
- 5.1 Pair和Tuple
- 5.2 Smart Pointer(智能指针)
- 5.3 数值的极值(Numeric Limit)
- 5.4 Type Trait和Type Utility
- 5.5 辅助函数
- 5.6 Class ratio<>的编译期分数运算
- 5.7 Clock和Timer
- 5.8 头文件<cstddef>、<cstdlib>和<cstring>
- 第6章 标准模板库
- 6.1 STL组件(Component)
- 6.2 容器(Container)
- 6.3 迭代器(Iterator)
- 6.4 算法(Algorithm)
- 6.5 迭代器之适配器(Iterator Adapter)
- 6.6 用户自定义的泛型函数(User-Defined GenericFunction)
- 6.7 更易型算法(Manipulating Algorithm)
- 6.8 以函数作为算法的实参
- 6.9 使用Lambda
- 6.10 函数对象(Function Object)
- 6.11 容器内的元素
- 6.12 STL内部的错误和异常
- 6.13 扩展STL
- 第7章 STL容器
- 7.1 容器的共通能力和共通操作
- 7.2 Array
- 7.3 Vector
- 7.4 Deque
- 7.5 List
- 7.6 Forward List
- 7.7 Set和Multiset
- 7.8 Map和Multimap
- 7.9 无序容器(Unordered Container)
- 7.10 其他STL容器
- 7.11 实现Reference语义
- 7.12 各种容器的使用时机
- 第8章 细探STL容器成员
- 8.1 容器内的类型
- 8.2 创建、复制和销毁(Create,Copy,and Destroy)
- 8.3 非更易型操作(Nonmodifying Operation)
- 8.4 赋值(Assignment)
- 8.5 元素直接访问(Direct Element Access)
- 8.6 “产出迭代器”之各项操作
- 8.7 安插和移除(Inserting and Removing)元素
- 8.8 List和Forward List的特殊成员函数
- 8.9 容器的策略接口(Policy Interface)
- 8.10 对分配器(Allocator)的支持
- 第9章 STL迭代器
- 9.1 迭代器头文件(Header Files for Iterators)
- 9.2 迭代器种类(Iterator Category)
- 9.3 迭代器相关辅助函数
- 9.4 迭代器适配器(Iterator Adapter)
- 9.5 Iterator Trait(迭代器特性)
- 9.6 用户自定义(User-Defined)迭代器
- 第10章 STL函数对象及Lambda
- 10.1 Function Object(函数对象)的概念
- 10.2 预定义的Function Object和Binder
- 10.3 运用Lambda
- 第11章 STL算法
- 11.1 算法头文件(Header File)
- 11.2 算法概观
- 11.3 辅助函数
- 11.4 for_each()算法
- 11.5 非更易型算法(Nonmodifying Algorithm)
- 11.6 更易型算法(Modifying Algorithm)
- 11.7 移除型算法(Removing Algorithm)
- 11.8 变序型算法(Mutating Algorithm)
- 11.9 排序算法(Sorting Algorithm)
- 11.10 已排序区间算法(Sorted-Range Algorithm)
- 11.11 数值算法(Numeric Algorithm)
- 第12章 特殊容器
- 12.1 Stack(堆栈)
- 12.2 Queue(队列)
- 12.3 Priority Queue(带优先级的队列)
- 12.4 细究Container Adapter
- 12.5 Bitset
- 第13章 字符串
- 13.1 String Class的目的
- 13.2 String Class细节描述
- 13.3 细究String Class
- 第14章 正则表达式
- 14.1 Regex的匹配和查找接口(Match and Search Interface)
- 14.2 处理“次表达式”(Subexpression)
- 14.3 Regex Iterator
- 14.4 Regex Token Iterator
- 14.5 用于替换的正则表达式
- 14.6 Regex Flag
- 14.7 Regex的异常(Exception)
- 14.8 Regex ECMAScript文法
- 14.9 其他文法
- 14.10 细究Basic Regex签名式
- 第15章 以Stream完成I/O
- 15.1 I/O Stream的共通基础
- 15.2 基本Stream Class和其对象
- 15.3 标准的Stream操作符<<和>>
- 15.4 Stream的状态(State)
- 15.5 标准I/O函数
- 15.6 操控器(Manipulator)
- 15.7 格式化(Formatting)
- 15.8 国际化(Internationalization)
- 15.9 文件访问(File Access)
- 15.10 为String而设计的Stream Class
- 15.11 “用户自定义类型”之I/O操作符
- 15.12 连接Input和Output Stream
- 15.13 Stream Buffer Class
- 15.14 关于效能(Performance)
- 第16章 国际化
- 16.1 字符编码和字符集
- 16.2 Locale(地域)概念
- 16.3 细究Locale
- 16.4 细究Facet
- 第17章 数值
- 17.1 随机数及分布(Random Number and Distribu-tion)
- 17.2 复数(Complex Number)
- 17.3 全局数值函数(Global Numeric Function)
- 17.4 Valarray
- 第18章 并发
- 18.1 高级接口:async()和Future
- 18.2 低层接口:Thread和Promise
- 18.3 细说启动线程(Starting a Thread)
- 18.4 线程同步化与Concurrency(并发)问题
- 18.5 Mutex和Lock
- 18.6 Condition Variable(条件变量)
- 18.7 Atomic
- 第19章 分配器
- 19.1 以应用程序开发者的角度使用Allocator
- 19.2 用户自定义的Allocator
- 19.3 以程序库开发者的角度使用Allocator
- 参考书目
- 新闻组及论坛(Newsgroup and Forum)
- 书籍和网站
免责声明:本站词条系由网友创建、编辑和维护,内容仅供参考。
以上内容均为商业内容展示,仅供参考,不具备专业问题解决服务,
如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域的专业人士。
如您发现词条内容涉嫌侵权,请通过 948026894@qq.com 与我们联系进行删除处理!