C++之旅(第3版)(英文版)
1 基础 ................................................................................................... 17
1.1 引言 .................................................................................................................................. 17
1.2 程序 ....................................................................................................................…
查看完整
1.1 引言 .................................................................................................................................. 17
1.2 程序 ....................................................................................................................…
查看完整
本贾尼?斯特劳斯特鲁普是 C++ 的设计者和原始实现者,也是本书及《C++程序设计原理与实践》(第2版)和《C++程序设计语言》(第4版)等领域名著的作者。他目前是哥伦比亚大学教授,之前曾在 AT&T 贝尔实验室、得克萨斯 A&M 大学和摩根士丹利工作。他曾获得无数荣誉,包括因开发和改进 C++ 编程语言所获的美国国家工程院查尔斯·斯塔克·德雷珀奖。本贾尼?斯特劳斯特鲁普是 C++ 的设计者和原始实现者,也是本书及《C++程序设计原理与实践》(第2版)和《C++程序设计语言》(第4版)等领域名著的作者。他目前是哥伦比亚大学教授,之前曾在 AT&T 贝尔实验室、得克萨斯 A&M 大学和摩根士丹利工作。他曾获得无数荣誉,包括因开发和改进 C++ 编程语言所获的美国国家工程院查尔斯·斯塔克·德雷珀奖。
本书一共 19 章,以 C++20 为标准,讲述了最新的现代 C++所能提供的编程特性,有其他语言编程经验的读者可以快速了解 C++所具备的功能,从而获得对现代 C++的更全面认知,以便更好地了解现代 C++语言已经发展到的程度。资深程序员可以从他的整体行文风格中,感受到他在设计 C++特性时的一些思考考量以及侧重点,了解C++这门语言在历史上曾经经历了一些什么变迁,以及一部分特性为什么会是今天这个样子。
1 基础 ................................................................................................... 17
1.1 引言 .................................................................................................................................. 17
1.2 程序 .................................................................................................................................. 18
1.2.1 Hello, World! ....................................................................................................... 18
1.3 函数 .................................................................................................................................. 20
1.4 类型、变量与运算 .......................................................................................................... 21
1.4.1 算术运算 ............................................................................................................. 23
1.4.2 初始化 ................................................................................................................. 24
1.5 作用域和生命周期 .......................................................................................................... 25
1.6 常量 .................................................................................................................................. 26
1.7 指针、数组和引用 .......................................................................................................... 27
1.7.1 空指针 ................................................................................................................. 29
1.8 检验 .................................................................................................................................. 30
1.9 映射到硬件 ...................................................................................................................... 32
1.9.1 赋值 ..................................................................................................................... 33
1.9.2 初始化 ................................................................................................................. 34
1.10 建议 ................................................................................................................................ 35
2 用户自定义类型 ..................................................................................... 37
2.1 引言 .................................................................................................................................. 37
2.2 结构 .................................................................................................................................. 38
2.3 类 ...................................................................................................................................... 39
2.4 枚举 .................................................................................................................................. 41
2.5 联合 .................................................................................................................................. 43
2.6 建议 .................................................................................................................................. 44
3 模块化 ............................................................................................... 45
3.1 引言 .................................................................................................................................. 45
3.2 分离编译 .......................................................................................................................... 46
3.2.1 头文件 ................................................................................................................. 47
3.2.2 模块 ..................................................................................................................... 49
3.3 命名空间 .......................................................................................................................... 51
3.4 函数参数与返回值 .......................................................................................................... 53
3.4.1 参数传递 ............................................................................................................. 54
3.4.2 返回值 ................................................................................................................. 55
3.4.3 返回类型推导 ..................................................................................................... 56
3.4.4 返回类型后置 ..................................................................................................... 56
3.4.5 结构化绑定 ......................................................................................................... 57
3.5 建议 .................................................................................................................................. 58
4 错误处理 ............................................................................................ 59
4.1 引言 .................................................................................................................................. 59
4.2 异常 .................................................................................................................................. 60
4.3 约束条件 .......................................................................................................................... 61
4.4 错误处理的其他替代方式 .............................................................................................. 63
4.5 断言 .................................................................................................................................. 64
4.5.1 assert() ................................................................................................................. 65
4.5.2 static_assert .......................................................................................................... 66
4.5.3 noexcept ............................................................................................................... 66
4.6 建议 .................................................................................................................................. 67
5 类 ..................................................................................................... 69
5.1 引言 .................................................................................................................................. 69
5.1.1 类的概述 ............................................................................................................. 70
5.2 具体类型 .......................................................................................................................... 70
5.2.1 一种算术类型 ..................................................................................................... 71
5.2.2 容器 ..................................................................................................................... 73
5.2.3 容器的初始化 ..................................................................................................... 74
5.3 抽象类型 .......................................................................................................................... 76
5.4 虚函数 .............................................................................................................................. 78
5.5 类层次结构 ...................................................................................................................... 79
5.5.1 类层次结构的益处 ............................................................................................. 81
5.5.
^ 收 起
1.1 引言 .................................................................................................................................. 17
1.2 程序 .................................................................................................................................. 18
1.2.1 Hello, World! ....................................................................................................... 18
1.3 函数 .................................................................................................................................. 20
1.4 类型、变量与运算 .......................................................................................................... 21
1.4.1 算术运算 ............................................................................................................. 23
1.4.2 初始化 ................................................................................................................. 24
1.5 作用域和生命周期 .......................................................................................................... 25
1.6 常量 .................................................................................................................................. 26
1.7 指针、数组和引用 .......................................................................................................... 27
1.7.1 空指针 ................................................................................................................. 29
1.8 检验 .................................................................................................................................. 30
1.9 映射到硬件 ...................................................................................................................... 32
1.9.1 赋值 ..................................................................................................................... 33
1.9.2 初始化 ................................................................................................................. 34
1.10 建议 ................................................................................................................................ 35
2 用户自定义类型 ..................................................................................... 37
2.1 引言 .................................................................................................................................. 37
2.2 结构 .................................................................................................................................. 38
2.3 类 ...................................................................................................................................... 39
2.4 枚举 .................................................................................................................................. 41
2.5 联合 .................................................................................................................................. 43
2.6 建议 .................................................................................................................................. 44
3 模块化 ............................................................................................... 45
3.1 引言 .................................................................................................................................. 45
3.2 分离编译 .......................................................................................................................... 46
3.2.1 头文件 ................................................................................................................. 47
3.2.2 模块 ..................................................................................................................... 49
3.3 命名空间 .......................................................................................................................... 51
3.4 函数参数与返回值 .......................................................................................................... 53
3.4.1 参数传递 ............................................................................................................. 54
3.4.2 返回值 ................................................................................................................. 55
3.4.3 返回类型推导 ..................................................................................................... 56
3.4.4 返回类型后置 ..................................................................................................... 56
3.4.5 结构化绑定 ......................................................................................................... 57
3.5 建议 .................................................................................................................................. 58
4 错误处理 ............................................................................................ 59
4.1 引言 .................................................................................................................................. 59
4.2 异常 .................................................................................................................................. 60
4.3 约束条件 .......................................................................................................................... 61
4.4 错误处理的其他替代方式 .............................................................................................. 63
4.5 断言 .................................................................................................................................. 64
4.5.1 assert() ................................................................................................................. 65
4.5.2 static_assert .......................................................................................................... 66
4.5.3 noexcept ............................................................................................................... 66
4.6 建议 .................................................................................................................................. 67
5 类 ..................................................................................................... 69
5.1 引言 .................................................................................................................................. 69
5.1.1 类的概述 ............................................................................................................. 70
5.2 具体类型 .......................................................................................................................... 70
5.2.1 一种算术类型 ..................................................................................................... 71
5.2.2 容器 ..................................................................................................................... 73
5.2.3 容器的初始化 ..................................................................................................... 74
5.3 抽象类型 .......................................................................................................................... 76
5.4 虚函数 .............................................................................................................................. 78
5.5 类层次结构 ...................................................................................................................... 79
5.5.1 类层次结构的益处 ............................................................................................. 81
5.5.
^ 收 起
本贾尼?斯特劳斯特鲁普是 C++ 的设计者和原始实现者,也是本书及《C++程序设计原理与实践》(第2版)和《C++程序设计语言》(第4版)等领域名著的作者。他目前是哥伦比亚大学教授,之前曾在 AT&T 贝尔实验室、得克萨斯 A&M 大学和摩根士丹利工作。他曾获得无数荣誉,包括因开发和改进 C++ 编程语言所获的美国国家工程院查尔斯·斯塔克·德雷珀奖。本贾尼?斯特劳斯特鲁普是 C++ 的设计者和原始实现者,也是本书及《C++程序设计原理与实践》(第2版)和《C++程序设计语言》(第4版)等领域名著的作者。他目前是哥伦比亚大学教授,之前曾在 AT&T 贝尔实验室、得克萨斯 A&M 大学和摩根士丹利工作。他曾获得无数荣誉,包括因开发和改进 C++ 编程语言所获的美国国家工程院查尔斯·斯塔克·德雷珀奖。
本书一共 19 章,以 C++20 为标准,讲述了最新的现代 C++所能提供的编程特性,有其他语言编程经验的读者可以快速了解 C++所具备的功能,从而获得对现代 C++的更全面认知,以便更好地了解现代 C++语言已经发展到的程度。资深程序员可以从他的整体行文风格中,感受到他在设计 C++特性时的一些思考考量以及侧重点,了解C++这门语言在历史上曾经经历了一些什么变迁,以及一部分特性为什么会是今天这个样子。
比价列表