4.23文创礼盒,买2个减5元 读书月福利
欢迎光临中图网 请 | 注册

C++20实践入门(第6版)

出版社:清华大学出版社出版时间:2022-03-01
开本: 16开 页数: 680
中 图 价:¥116.9(7.4折) 定价  ¥158.0 登录后可看到会员价
加入购物车 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

C++20实践入门(第6版) 版权信息

C++20实践入门(第6版) 本书特色

《 C++20实践入门(第6版)》讲解如何使用新推出的C++20编写程序。开篇介绍基础知识,此后抽丝剥茧地分析示例,助你华丽蜕变为高水平的C++程序员。本书呈现C++20的诸多新特性,如模块、概念、范围和太空飞船运算符等。即使不具备编程经验,你也可在本书的指引下,快速在一个较新的C++编译器上编写出真正可用的C++程序。  《 C++20实践入门(第6版)》在示例程序的引导下演示所有重要概念,每章都提供习题,供读者巩固所学的知识,测验自己的水准。配书网站为所有示例和习题答案提供了可免费下载的代码。  《 C++20实践入门(第6版)》针对C++语言的新版本C++20做了全面更新,呈现现代C++的所有约定和*佳实践。还介绍C++标准库的元素,这些元素为C++20语言提供了必要支持。

C++20实践入门(第6版) 内容简介

主要内容: ● 开始使用C++20标准编写程序 ● 使用C++进行模块化编程 ● 使用数组、循环、指针、引用和字符串等 ● 编写自己的函数、类型和运算符 ● 了解面向对象编程的要素 ● 使用重载、继承、虚函数和多态性 ● 编写泛型函数和类模板,并使用概念让它们更安全 ● 深入了解容器、算法和范围 ● 使用自动类型推断、异常、移动语义、lambda表达式等

C++20实践入门(第6版) 目录

第1章 基本概念 1

1.1 现代C++ 1

1.2 标准库 2

1.3 C++程序概念 3

1.3.1 源文件 3

1.3.2 注释和空白 3

1.3.3 标准库模块 4

1.3.4 函数 4

1.3.5 语句 5

1.3.6 数据的输入和输出 6

1.3.7 return语句 6

1.3.8 名称空间 6

1.3.9 名称和关键字 7

1.4 类和对象 7

1.5 模板 8

1.6 代码的表示样式和编程风格 8

1.7 创建可执行文件 9

1.8 过程化编程和面向对象编程 10

1.9 表示数字 11

1.9.1 二进制数 11

1.9.2 十六进制数 12

1.9.3 负的二进制数 13

1.9.4 八进制数 15

1.9.5 Big-Endian和Little-Endian系统 15

1.9.6 浮点数 16

1.10 表示字符 17

1.10.1 ASCII 码 18

1.10.2 UCS和Unicode 18

1.11 C++源字符 19

1.12 本章小结 20

1.13 练习 21

第2章 基本数据类型 23

2.1 变量、数据和数据类型 23

2.1.1 定义整型变量 24

2.1.2 零初始化 27

2.1.3 定义有固定值的变量 27

2.2 整型字面量 27

2.2.1 十进制整型字面量 27

2.2.2 十六进制的整型字面量 28

2.2.3 八进制的整型字面量 29

2.2.4 二进制的整型字面量 29

2.3 整数的计算 29

2.4 赋值运算 31

2.5 sizeof运算符 35

2.6 整数的递增和递减 35

2.7 定义浮点变量 37

2.8 浮点字面量 38

2.9 浮点数的计算 38

2.9.1 数学常量 38

2.9.2 数学函数 39

2.9.3 无效的浮点结果 42

2.9.4 缺点 43

2.10 混合的表达式和类型转换 43

2.11 显式类型转换 44

2.12 格式化字符串 47

2.13 确定数值的上下限 52

2.14 使用字符变量 54

2.15 auto关键字 56

2.16 本章小结 57

2.17 练习 57

第3章 处理基本数据类型 59

3.1 运算符的优先级和相关性 59

3.2 位运算符 61

3.2.1 移位运算符 61

3.2.2 位模式下的逻辑运算 64

3.3 变量的生存期 69

3.4 全局变量 70

3.5 枚举数据类型 73

3.6 数据类型的别名 76

3.7 本章小结 77

3.8 练习 78

第4章 决策 79

4.1 比较数据值 79

4.1.1 应用比较运算符 80

4.1.2 比较浮点数值 81

4.1.3 太空飞船运算符 82

4.2 if语句 84

4.2.1 嵌套的if语句 87

4.2.2 字符分类和转换 88

4.3 if-else语句 90

4.3.1 嵌套的if-else语句 91

4.3.2 理解嵌套的if语句 92

4.4 逻辑运算符 93

4.4.1 逻辑与运算符 94

4.4.2 逻辑或运算符 94

4.4.3 逻辑非运算符 95

4.4.4 组合逻辑运算符 95

4.4.5 对整数操作数应用逻辑运算符 97

4.4.6 对比逻辑运算符与位运算符 97

4.5 条件运算符 99

4.6 switch语句 100

4.7 语句块和变量作用域 106

4.8 本章小结 108

4.9 练习 108

第5章 数组和循环 111

5.1 数组 111

5.2 理解循环 113

5.3 for循环 113

5.4 避免幻数 115

5.5 用初始化列表定义数组的大小 117

5.6 确定数组的大小 117

5.7 用浮点数控制for循环 119

5.8 使用更复杂的for循环控制

表达式 120

5.9 基于范围的for循环 122

5.10 while循环 123

5.11 do-while循环 125

5.12 嵌套的循环 127

5.13 跳过循环迭代 129

5.14 循环的中断 131

5.15 使用无符号整数控制for循环 134

5.16 字符数组 135

5.17 多维数组 138

5.17.1 初始化多维数组 140

5.17.2 多维字符数组 141

5.18 在运行期间给数组分配内存

空间 143

5.19 数组的替代品 145

5.19.1 使用array容器 145

5.19.2 使用std::vector容器 150

5.20 本章小结 153

5.21 练习 154



第19章 头等函数 583

19.1 函数指针 583

19.1.1 定义函数指针 584

19.1.2 高阶函数的回调函数 586

19.1.3 函数指针的类型别名 588

19.2 函数对象 589

19.2.1 基本的函数对象 589

19.2.2 标准函数对象 591

19.2.3 参数化函数对象 592

19.3 lambda表达式 593

19.3.1 定义lambda表达式 593

19.3.2 命名lambda闭包 594

19.3.3 向函数模板传递lambda

表达式 595

19.3.4 泛型lambda 596

19.3.5 捕获子句 596

19.4 std::function

19.5 本章小结 602

19.6 练习 603

第20章 容器与算法 605

20.1 容器 605

20.1.1 顺序容器 606

20.1.2 栈和队列 608

20.1.3 关联容器 610

20.2 迭代器 617

20.2.1 迭代器设计模式 617

20.2.2 标准库容器的迭代器 618

20.2.3 数组的迭代器 626

20.3 算法 627

20.3.1 **个示例 627

20.3.2 寻找元素 629

20.3.3 处理多个输出值 630

20.3.4 删除-擦除技术 632

20.3.5 排序 634

20.3.6 并行算法 635

20.3.7 范围与视图 635

20.4 视图与范围 637

20.5 本章小结 641

20.6 练习 642

第21章 受约束的模板和概念 645

21.1 无约束模板 645

21.2 受约束的模板 646

21.3 概念 648

21.3.1 概念定义和表达式 648

21.3.2 requires表达式 649

21.3.3 断言类型建模了一个概念 653

21.3.4 标准概念 653

21.4 requires子句 654

21.5 简写表示法 655

21.6 受约束的函数模板 656

21.7 受约束的类模板 657

21.8 基于约束的特化 659

21.9 约束auto 661

21.10 本章小结 662

21.11 练习 662


展开全部

C++20实践入门(第6版) 作者简介

Ivor Horton从数学系毕业,却被信息技术领域工作量少、回报高的前景所吸引。虽然现实证明,工作量大,回报相对一般,但是他与计算机一直相伴到今天。在不同的时期,他参与过编程、系统设计、咨询以及相当复杂的项目的管理和实施工作。 Ivor有多年工程设计和制造控制系统的设计和实施经验。他使用多种编程语言开发过在不同场景中很实用的应用程序,并教会一些科学家和工程师如何使用编程语言开发一些实用的程序。他目前已出版的图书涵盖 C、C++和Java等编程语言。当他没有在撰写编程图书或者为他人提供咨询服务时, 他会去钓鱼或旅行,享受生活。 Peter Van Weert是一名比利时软件工程师,主要兴趣和专长是应用软件开发、编程语言、算法和数据结构。 他在比利时鲁汶大学以优秀毕业生荣誉获得计算机科学硕士学位,并得到了考试委员会的祝贺。 2010年,他在鲁汶大学的声明式编程语言和人工智能研究组完成了博士论文,主题是基于规则的编程语言的设计和高效编译。在攻读博士学位期间,他担任面向对象编程 (Java)、软件分析与设计以及声明式编程的助教。 毕业后, Peter在Nikon Metrology工作了 6年多,负责3D激光扫描和点云检查领域的大规模工业应用软件设计。如今,Peter担任Medicim的高级 C++工程师和 Scrum团队主管, Medicim是Envista Holdings的数字牙医软件研发部。在 Medicim,他与同事共同为牙医开发了一套软件,这套软件能够从各种硬件获取患者数据,还提供了高级诊断功能,并支持为种植牙和假体进行规划和设计。 在他的职业生涯中,他参与过高级桌面应用开发,掌握并重构了包含几百万行 C++代码的代码库,对 3D数据进行过高性能的实时处理,还研究过并发性、算法和数据结构,与尖端硬件进行交互,以及领导敏捷开发团队。 在空闲时间,他与人合作撰写了两本关于 C++的图书,开发了两个获奖的 Windows应用,并且是比利时 C++用户组的定期专家演讲人和董事会成员。

商品评论(0条)
暂无评论……
书友推荐
编辑推荐
返回顶部
中图网
在线客服