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

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

链接: https://pan.baidu.com/s/18WHYA48MfmDsPyIWjo4ZAw?pwd=chhk 提取码: chhk

出版社: 清华大学出版社
ISBN:9787302596790
版次:6
商品编码:13661034
品牌:清华大学
包装:平装
开本:16开
出版时间:2022-03-01
用纸:胶版纸
编辑推荐

《 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标准编写程序

● 使用C++进行模块化编程

● 使用数组、循环、指针、引用和字符串等

● 编写自己的函数、类型和运算符

● 了解面向对象编程的要素

● 使用重载、继承、虚函数和多态性

● 编写泛型函数和类模板,并使用概念让它们更安全

● 深入了解容器、算法和范围

● 使用自动类型推断、异常、移动语义、lambda表达式等




作者简介

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++用户组的定期专家演讲人和董事会成员。




目录

第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