c++语言导学 pdf,C++语言导学(原书第2版)

出版者的话

译者序

前言

第1章 基础知识 1

1.1 引言 1

1.2 程序 1

1.3 函数 3

1.4 类型、变量和算术运算 4

1.4.1 算术运算 5

1.4.2 初始化 6

1.5 作用域和生命周期 7

1.6 常量 8

1.7 指针、数组和引用 9

1.8 检验 12

1.9 映射到硬件 14

1.9.1 赋值 14

1.9.2 初始化 15

1.10 建议 16

第2章 用户自定义类型 18

2.1 引言 18

2.2 结构 18

2.3 类 20

2.4 联合 21

2.5 枚举 22

2.6 建议 23

第3章 模块化 25

3.1 引言 25

3.2 分别编译 26

3.3 模块(C++20) 27

3.4 名字空间 29

3.5 错误处理 30

3.5.1 异常 30

3.5.2 不变式 32

3.5.3 错误处理替代 33

3.5.4 合约 35

3.5.5 静态断言 35

3.6 函数参数和返回值 36

3.6.1 参数传递 36

3.6.2 返回值 37

3.6.3 结构化绑定 39

3.7 建议 40

第4章 类 41

4.1 引言 41

4.2 具体类型 42

4.2.1 一种算术类型 42

4.2.2 容器 44

4.2.3 初始化容器 45

4.3 抽象类型 47

4.4 虚函数 49

4.5 类层次 50

4.5.1 层次结构的益处 52

4.5.2 层次漫游 53

4.5.3 避免资源泄漏 54

4.6 建议 55

第5章 基本操作 57

5.1 引言 57

5.1.1 基本操作 57

5.1.2 类型转换 59

5.1.3 成员初始值 59

5.2 拷贝和移动 60

5.2.1 拷贝容器 60

5.2.2 移动容器 62

5.3 资源管理 63

5.4 常规操作 65

5.4.1 比较 65

5.4.2 容器操作 65

5.4.3 输入输出操作 66

5.4.4 用户自定义字面值 66

5.4.5 swap() 67

5.4.6 hash 67

5.5 建议 67

第6章 模板 69

6.1 引言 69

6.2 参数化类型 69

6.2.1 约束模板参数(C++20) 71

6.2.2 值模板参数 71

6.2.3 模板参数推断 72

6.3 参数化操作 73

6.3.1 函数模板 73

6.3.2 函数对象 74

6.3.3 lambda表达式 75

6.4 模板机制 77

6.4.1 可变参数模板 78

6.4.2 别名 78

6.4.3 编译时if 79

6.5 建议 80

第7章 概念和泛型编程 81

7.1 引言 81

7.2 概念(C++20) 81

7.2.1 概念的使用 82

7.2.2 基于概念的重载 83

7.2.3 合法代码 84

7.2.4 概念的定义 84

7.3 泛型编程 86

7.3.1 概念的使用 86

7.3.2 使用模板抽象 86

7.4 可变参数模板 88

7.4.1 表达式折叠 89

7.4.2 参数转发 90

7.5 模板编译模型 90

7.6 建议 91

第8章 标准库概览 92

8.1 引言 92

8.2 标准库组件 92

8.3 标准库头文件和名字空间 93

8.4 建议 94

第9章 字符串和正则表达式 95

9.1 引言 95

9.2 字符串 95

9.3 字符串视图 97

9.4 正则表达式 99

9.4.1 搜索 99

9.4.2 正则表达式符号表示 100

9.4.3 迭代器 104

9.5 建议 104

第10章 输入输出 106

10.1 引言 106

10.2 输出 107

10.3 输入 108

10.4 I/O状态 109

10.5 用户自定义类型的I/O 110

10.6 格式化 111

10.7 文件流 112

10.8 字符串流 112

10.9 C风格I/O 113

10.10 文件系统 114

10.11 建议 117

第11章 容器 119

11.1 引言 119

11.2 vector 119

11.2.1 元素 121

11.2.2 范围检查 122

11.3 list 123

11.4 map 125

11.5 unordered_map 125

11.6 容器概述 127

11.7 建议 128

第12章 算法 130

12.1 引言 130

12.2 使用迭代器 131

12.3 迭代器类型 133

12.4 流迭代器 134

12.5 谓词 136

12.6 算法概述 136

12.7 概念(C++20) 137

12.8 容器算法 140

12.9 并行算法 140

12.10 建议 141

第13章 实用功能 142

13.1 引言 142

13.2 资源管理 142

13.2.1 unique_ptr和shared_ptr 143

13.2.2 move()和forward() 145

13.3 范围检查:span 147

13.4 特殊容器 148

13.4.1 array 149

13.4.2 bitset 150

13.4.3 pair和tuple 151

13.5 选择 152

13.5.1 variant 153

13.5.2 optional 154

13.5.3 any 155

13.6 分配器 155

13.7 时间 156

13.8 函数适配器 157

13.8.1 lambda作为适配器 157

13.8.2 mem_fn() 157

13.8.3 function 158

13.9 类型函数 158

13.9.1 iterator_traits 159

13.9.2 类型谓词 161

13.9.3 enable_if 161

13.10 建议 162

第14章 数值 163

14.1 引言 163

14.2 数学函数 163

14.3 数值算法 164

14.4 复数 165

14.5 随机数 166

14.6 向量算术 167

14.7 数值限制 168

14.8 建议 168

第15章 并发 169

15.1 引言 169

15.2 任务和thread 169

15.3 传递参数 170

15.4 返回结果 171

15.5 共享数据 172

15.6 等待事件 173

15.7 任务通信 175

15.7.1 future和promise 175

15.7.2 packaged_task 176

15.7.3 async() 177

15.8 建议 178

第16章 历史和兼容性 180

16.1 历史 180

16.1.1 大事年表 181

16.1.2 早期的C++ 182

16.1.3 ISO C++标准 184

16.1.4 标准和编程风格 186

16.1.5 C++的应用 186

16.2 C++特性演化 186

16.2.1 C++11语言特性 187

16.2.2 C++14语言特性 188

16.2.3 C++17语言特性 188

16.2.4 C++11标准库组件 188

16.2.5 C++14标准库组件 189

16.2.6 C++17标准库组件 189

16.2.7 已弃用特性 190

16.3 C/C++兼容性 190

16.3.1 C和C++是兄弟 191

16.3.2 兼容性问题 192

16.4 参考文献 193

16.5 建议 196

索引 198

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《C语言导学(原书第2)pdf》是一本介绍C语言基础知识的书籍,针对初学者设计,适合入门者阅读。C语言是一门比较底层的编程语言,需要对计算机体系结构有一定的了解。本书从C语言的起源开始介绍,一步步深入探讨C语言的语法规则、程序结构、变量类型、数据类型、函数、指针、结构体、文件IO等内容。 本书采用图文结合的方式,搭配了大量实例和代码,便于读者理解。作者在讲解语法规则的时候,注重让读者掌握核心概念, 深度剖析奇淫技巧 ,有助于读者在实际应用中运用自如,并且还讲解了大量的实用技巧,比如如何利用宏定义、预编译指令、条件编译等提高程序效率。 其中,作者详细介绍了指针这一重要概念,指针是C语言中最为关键的知识点,很多初学者常常在这一环节掉链子,作者通过图形演示、案例分析等方式,以浅显易懂的方式梳理了指针的各种用法,而且针对指针的常见误区给出了很好的建议,有助于读者在编写程序的时候避免常见错误。 总的来说,《C语言导学(原书第2)pdf》是一本很好的C语言学习教材,对初学者来说非常友好。非常适合想要学习编程的新手,用轻松、风趣的语言让读者迅速掌握C语言的基本概念,让读者从C语言的世界开始探索编程的奥妙。该书还可拓展读者的编程思路和思维方式,在深入探讨C语言的同时,能够启发读者对程序设计的整体把握和语言的内在逻辑理解。 针对该书,需要读者具备一定的计算机基础知识,同时需要配合相关的编程软件进行实践,才能更好地掌握和吸收该书的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值