C++20高级编程(第5版)

C++20高级编程(第5版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

拥抱C++的深度和复杂性,挖掘更多可能  众所周知,C++难以掌握,但其广泛的功能使其成为游戏和商业软件应用程序中最常用的语言。即使是有经验的用户通常也不熟悉许多高级特性,但C++20的发布提供了探索该语言全部功能的机会。《C++20高级编程(第5版)》为C++的必要内容提供了一个代码密集型、面向解决方案的指南,包括版本中的工具和功能。本书包含面向现实世界编程的实用指导,是程序员深入研究C++的理想机会。第5版涵盖了C++20的内容。

内容简介

主要内容

● 演示如何用C++思考,以最大限度地发挥语言的深远能力,并开发有效的解决方案

● 解释难以理解的原理,进行陷阱警告,分享提高效率和性能的提示、技巧和变通方法

● 呈现各种具有挑战性的、真实世界的程序,其用途广泛,足以融入任何项目

● 重点介绍C++20的新特性,包括模块、概念、三向比较、立即执行函数等

● 深入讨论新的C++20标准库功能,例如文本格式化、范围、原子智能指针、同步原语、日期、时区等


作者简介

Marc Gregoire是一名软件工程师,毕业于比利时鲁汶大学,拥有计算机科学工程硕士学位。之后,他在鲁汶大学又获得人工智能专业的优等硕士学位。完成学业后,他开始为软件咨询公司Ordina Belgium工作。他曾在Siemens 和Nokia Siemens Networks为大型电信运营商提供有关在Solaris上运行关键2G和3G软件的咨询服务。这份工作要求与来自南美、美国、欧洲、中东、非洲和亚洲的国际团队合作。Marc目前担任Nikon Metrology(www.nikonmetrology.com)的软件架构师;Nikon Metrology是Nikon的一个部门,是精密光学仪器、X光机等设备和X光、CT和3D扫描解决方案的领先供应商。

Marc的主要技术专长是C/C++,特别是Microsoft VC++和MFC框架。他还擅长在Windows和Linux平台上开发24×7运行的C++程序,例如KNX/EIB家庭自动化监控软件。除了C/C++之外,Marc还喜欢C#。 

2007年4月,他凭借Visual C++方面的专业技能,获得了微软年度MVP称号。

Marc还是比利时C++用户组(www.becpp.org)的创始人,是C++ Standard Library Quick Reference 第1版和第2版(Apress)的共同作者,以及多家出版社出版的多种书籍的技术编辑,是C++大会CppCon的活跃演讲者。


章节目录

第I部分  专业的C++简介

第1章  C++和标准库速成   3

1.1  C++速成   3

1.1.1  小程序“Hello World”   4

1.1.2  名称空间   7

1.1.3  字面量   9

1.1.4  变量   9

1.1.5  运算符   12

1.1.6  枚举类型   14

1.1.7  结构体   16

1.1.8  条件语句   17

1.1.9  条件运算符   19

1.1.10  逻辑比较运算符   20

1.1.11  三向比较运算符   21

1.1.12  函数   22

1.1.13  属性   23

1.1.14  C风格的数组   26

1.1.15  std::array   27

1.1.16  std::vector   28

1.1.17  std::pair   28

1.1.18  std::optional   29

1.1.19  结构化绑定   30

1.1.20  循环   30

1.1.21  初始化列表   31

1.1.22  C++中的字符串   32

1.1.23  作为面向对象语言的C++   32

1.1.24  作用域解析   35

1.1.25  统一初始化   36

1.1.26  指针和动态内存   39

1.1.27  const的用法   43

1.1.28  constexpr关键字   45

1.1.29  consteval关键字   46

1.1.30  引用   47

1.1.31  const_cast()   55

1.1.32  异常   56

1.1.33  类型别名   56

1.1.34  类型定义   57

1.1.35  类型推断   58

1.1.36  标准库   60

1.2  第一个大型的C++程序   61

1.2.1  雇员记录系统   61

1.2.2  Employee类   61

1.2.3  Database类   64

1.2.4  用户界面   67

1.2.5  评估程序   69

1.3  本章小结   69

1.4  练习   69

第2章  使用string和string_view   71

2.1  动态字符串   71

2.1.1  C风格字符串   71

2.1.2  字符串字面量   73

2.1.3  C++ std::string类   75

2.1.4  数值转换   78

2.1.5  std::string_view类   81

2.1.6  非标准字符串   84

2.2  字符串格式化   84

2.2.1  格式说明符   85

2.2.2  格式说明符错误   87

2.2.3  支持自定义类型   87

2.3  本章小结   90

2.4  练习   90

第3章  编码风格   91

3.1  良好外观的重要性   91

3.1.1  事先考虑   91

3.1.2  良好风格的元素   92

3.2  为代码编写文档   92

3.2.1  使用注释的原因   92

3.2.2  注释的风格   96

3.3  分解   99

3.3.1  通过重构分解   100

3.3.2  通过设计分解   101

3.3.3  本书中的分解   101

3.4  命名   101

3.4.1  选择恰当的名称   101

3.4.2  命名约定   102

3.5  使用具有风格的语言特性   103

3.5.1  使用常量   104

3.5.2  使用引用代替指针   104

3.5.3  使用自定义异常   104

3.6  格式   105

3.6.1  关于大括号对齐的争论   105

3.6.2  关于空格和圆括号的争论   106

3.6.3  空格、制表符、换行符   106

3.7  风格的挑战   107

3.8  本章小结   107

3.9  练习   107

第II部分  专业的C++软件设计

第4章  设计专业的C++程序   113

4.1  程序设计概述   113

4.2  程序设计的重要性   114

4.3  C++设计   116

4.4  C++设计的两个原则   116

4.4.1  抽象   116

4.4.2  重用   118

4.5  重用现有代码   119

4.5.1  关于术语的说明   119

4.5.2  决定是否重用代码   120

4.5.3  重用代码的指导原则   121

4.6  设计一个国际象棋程序   127

4.6.1  需求   127

4.6.2  设计步骤   127

4.7  本章小结   132

4.8  练习   133


第34章  开发跨平台和跨语言的应用程序   935

34.1  跨平台开发   935

34.1.1  架构问题   935

34.1.2  实现问题   938

34.1.3  平台专用功能   940

34.2  跨语言开发   940

34.2.1  混用C和C++   941

34.2.2  改变范型   941

34.2.3  链接C代码   944

34.2.4  从C#调用C++代码   946

34.2.5  C++/CLI在C++中使用C#代码和在C#中使用C++代码   947

34.2.6  在Java中使用JNI调用C++代码   948

34.2.7  从C++代码调用脚本   950

34.2.8  从脚本调用C++代码   950

34.2.9  从C++调用汇编代码   952

34.3  本章小结   953

34.4  练习   953

第VI部分  附录

附录A  C++面试   957


在线资源(扫描封底二维码下载)

附录B  标准库头文件   977

附录C  UML简介   983

附录D  带注解的参考文献   989


 



C++20高级编程(第5版)是1970年由清华大学出版社出版,作者[比]马克·格雷戈勒(Marc Gregoire)。

得书感谢您对《C++20高级编程(第5版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
数控编程与仿真实训(第4版) 电子书
本书主要内容包括数控机床的工作原理,数控车床仿真操作与编程,数控铣床(加工中心)仿真操作与编程,全书以FANUC数控系统为重点,按照理论实训一体化的模式编写。
C++ 黑客编程揭秘与防范(第3版) 电子书
反病毒工程师入门精选,包含反病毒领域的所有知识,是亿万读者的引路名师。
编程超有趣:奇妙Python轻松学(第1辑) 电子书
Java编程技术与项目实战(第2版) 电子书
本书从Java语言的基本特点入手,全面介绍了Java语言的基本概念和编程方法,并扼要介绍了Java的高特。全书内容涉及Java基本语法、数据类型、异常、界面设计、小应用程序、I/O数据流、线程等内容,这些内容基本覆盖了Java的实用技术,是进一步使用Java进行技术开发的基础。
PHP编程基础与实例教程(第2版) 电子书
PHP简单易学且功能强大,是开发Web应用程序理想的脚本语言。本书由浅入深、循序渐进,系统地介绍了PHP的相关知识及其在Web应用程序开发中的实际应用,并通过具体案例,使读者巩固所学知识,更好地进行开发实践。本书共分为13章,涵盖了PHP开发环境的搭建、PHP语法、FORM表单、数据库设计、MySQL数据库、PHP与数据库连接、会话控制、界面设计等内容。本书内容丰富、讲解深入,适用于初、中级PHP