水木
水木
发布于 2024-08-30 / 9 阅读
0

C++标准库(第2版)(博文视点出品)

链接: https://pan.baidu.com/s/1Uo0th1sxOTBs2Gm6LAWerA?pwd=9wxd 提取码: 9wxd

出版社: 电子工业出版社
ISBN:9787121260896
版次:2
商品编码:13130374
品牌:博文视点
包装:平装
开本:16开
出版时间:2021-02-01
用纸:胶版纸
页数:1128
正文语种:中文
产品特色




编辑推荐
适读人群 :C++程序员,想学习C++的读者。


“不熟悉 C++ 标准库,任何人都称不上是高效的 C++ 程序员。”——侯捷

  C++11巨大革新,并已逐渐走向舞台中央,而其中变化巨大的,正是标准库

  STL容器、算法、迭代器光辉犹在,众多新组件争相登场——多么陌生的强大

  新标准下C++标准库所有典型应用似乎都有不同,此大师原、译著威力正在于此

  1100页鸿篇巨著,基于C++11重写全书示例代码,并针对旧标准程序员剖析实现差异

  砂砾淘金,取精去芜,集委员会及C++社区智慧优选出程序员最常用新标准特性




  本书涵盖了所有全新的C++11标准库组件,包括:并发、分数运算、时钟和定时器、元组、新STL容器、新STL算法、新智能指针、新locale facet、随机数和分布、Type traits和实用工具、正则表达式




C++标准库提供了一组公共类和接口,极大地拓展了C++语言核心功能。然而,C++标准库并非不言自明。为了充分利用其组件,受益于其强大威力,真正能够满足你学习需要的参考资料绝不能仅仅列出那些类及其函数。

《C++标准库(第2版)》对现已并入新版ANSI/ISO C++ 语言标准(C++11)的标准库做了描述。本书对于每个标准库组件都提供了综合的文档,包括:关于其设计目的和设计方法的概览;对于复杂概念的清晰解读;为了有效利用所需的实用编程细节;存在的一些陷阱;实际运用中最重要的类和函数的确切签名和定义;以及大量实用代码范例。本书尤其着眼于标准模板库(STL),介绍了容器、迭代器、函数对象以及STL算法。

本书还介绍了标准库中的新式C++编程风格及其影响。其中包括lambda表达式、基于区间的for循环、move语义以及可变参数模板




内容简介

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

作者简介

尼古拉?约祖蒂斯,独立技术顾问,曾为电信、交通、金融和制造业设计过大中型软件系统。他还是C++标准委员会工作组早期成员,并因撰写的权威C++图书而享有盛名。除1999年出版的本书第1版(享誉全球的C++畅销图书)外,他还是《C++ Templates: The Complete Guide》和《SOA实践指南:分布式系统设计的艺术》的作者。
侯捷,海峡两岸著名的电脑技术自由作家,对于技术的钻研和发表,有独特的品性与坚持。作品涵盖著、译、评三方面,散见于各种刊特、媒体、网站论坛,深受读者喜爱和尊敬。

目录
目录
第 2 版译序 xxi
第 2 版序言 xxiii
第 2 版致谢 xxiv
第 1 版序言 xxv
第 1 版致谢 xxvi
1 关于本书 1
1.1 缘起 1
1.2 阅读前的必要基础 2
1.3 本书风格与结构 2
1.4 如何阅读本书 4
1.5 目前发展情势 5
1.6 范例代码及额外信息 5
1.7 反馈 5
2 C++ 及标准库简介 7
2.1 C++ Standard 的历史 7
2.1.1 C++11 Standard 常见疑问 8
2.1.2 C++98 和 C++11 的兼容性 9
2.2 复杂度与 Big-O 标记 10
3 语言新特性 13
3.1 C++11 语言新特性 13
3.1.1 微小但重要的语法提升 13
3.1.2 以 auto 完成类型自动推导 14
3.1.3 一致性初始化(Uniform Initialization)与初值列(Initializer List) 15
3.1.4 Range-Based for 循环 17
3.1.5 Move 语义和 Rvalue Reference 19
3.1.6 新式的字符串字面常量(String Literal) 23
3.1.7 关键字 noexcept 24
3.1.8 关键字 constexpr 26
3.1.9 崭新的 Template 特性 26
3.1.10 Lambda 28
3.1.11 关键字 decltype 32
3.1.12 新的函数声明语法(New Function Declaration Syntax) 32
3.1.13 带领域的(Scoped) Enumeration 32
3.1.14 新的基础类型(New Fundamental Data Type) 33
3.2 虽旧犹新的语言特性 33
3.2.1 基础类型的明确初始化(Explicit Initialization for Fundamental Type) 37
3.2.2 main()定义式 37
4 一般概念 39
4.1 命名空间(Namespace)std 39
4.2 头文件(Header File) 40
4.3 差错和异常(Error and Exception)的处理 41
4.3.1 标准的 Exception Class(异常类) 41
4.3.2 异常类(Exception Class)的成员 44
4.3.3 以 Class exception_ptr 传递异常 52
4.3.4 抛出标准异常 53
4.3.5 自标准异常类派生 54
4.4 Callable Object(可被调用的对象) 54
4.5 并发与多线程 55
4.6 分配器(Allocator) 57
5 通用工具 59
5.1 Pair 和 Tuple 60
5.1.1 Pair 60
5.1.2 Tuple(不定数的值组) 68
5.1.3 Tuple 的输入/输出 74
5.1.4 tuple 和 pair 转换 75
5.2 Smart Pointer(智能指针) 76
5.2.1 Class shared_ptr 76
5.2.2 Class weak_ptr 84
5.2.3 误用 Shared Pointer 89
5.2.4 细究 Shared Pointer 和 Weak Pointer 92
5.2.5 Class unique_ptr 98
5.2.6 细究 Class unique_ptr 110
5.2.7 Class auto_ptr 113
5.2.8 Smart Pointer 结语 114
5.3 数值的极值(Numeric L