C++之美:代码整洁、安全又跑得快的30个要诀(英文版)
- ISBN:9787121446009
- 装帧:平塑
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:332
- 出版时间:2024-05-01
- 条形码:9787121446009 ; 978-7-121-44600-9
本书特色
《C++之美:代码整洁、安全又跑得快的30个要诀(英文版)》的结构与官方的 《C + + 核心准则》紧密一致。在整个过程中,两位作者提供了有价值的概念性见解和专家样本代码,阐述了更成功地使用新的和长期存在的语言特性的已证实的方法,并展示了如何编写默认情况下更健壮和性能更好的程序。
内容简介
本书从《C++核心准则》(C++ Core Guideline)数百个条目中精心挑选了30条准则进行细致、深入的讲解。内容涵盖C++语言*主要的方面,如类型系统、面向对象、模板和元编程、错误处理、程序性能、常量性等,其间又恰如其分地穿插了编码风格、设计模式等主题。探讨的过程中处处可见来自作者数十年职业生涯的经验和示例,除了深入的洞察,行文中充满了趣味性。作者试图通过这种突出重点、以点带面的方式帮助读者了解并学习C++核心准则,进而更深入地掌握C++这门编程语言,特别是它的“现代”形态。
目录
1.1 P.2:使用ISO C 标准编写代码 23
1.2 F.51:有选择时优先使用默认参数而非重载 33
1.3 C.45:不要定义仅初始化数据成员的默认构造函数,
?而应使用类成员初始化 43
1.4 C.131:避免平凡的get和set函数 51
1.5 ES.10:每条语句只声明一个名字 61
1.6 NR.2:不强求函数只用一条return语句 69
第2章 不要伤害自己 79
2.1 P.11:将凌乱的结构封装起来,而不是使其散布于代码中 81
2.2 I.23:尽量减少函数参数 91
2.3 I.26:使用C风格子集获取跨编译器的ABI 99
2.4 C.47:按成员声明顺序定义并初始化成员变量 107
2.5 CP.3:尽量减少可写数据的显式共享 117
2.6 T.120:只在真正需要时使用模板元编程 127
第3章 别再使用 139
3.1 I.11:切勿通过原生指针(T*)或引用(T&)转移所有权 141
3.2 I.3:避免使用单例 149
3.3 C.90:依靠构造函数和赋值运算符,而不是memset和memcpy 159
3.4 ES.50:不要用强制转换去除const限定符 169
3.5 E.28:避免基于全局状态(如errno)的错误处理 179
3.6 SF.7:不要在头文件的全局作用域写using namespace 189
第4章 正确使用新特性 199
4.1 F.21:优先选择结构体或元组返回多个“输出”值 201
4.2 Enum.3:优先选择类枚举而不是“普通”枚举 213
4.3 ES.5:保持作用域小 221
4.4 Con.5:使用constexpr表示编译时可以计算的值 233
4.5 T.1:使用模板提高代码的抽象层次 245
4.6 T.10:为所有模板参数指定概念 255
第5章 默认写出好代码 265
5.1 P.4:理想情况下,程序应具有静态类型安全性 267
5.2 P.10:优先选择不可变数据而不是可变数据 279
5.3 I.30:封装违反规则的部分 287
5.4 ES.22:确定初始值后再声明变量 295
5.5 Per.7:为促成优化而设计 305
5.6 E.6:使用RAII防止泄露 313
后记 325
跋 327
作者简介
J.盖伊·戴维森于 1980 年通过 Acorn Atom 首次接触到计算机。他青少年时代的大部分时间都是在各种家用电脑上编写游戏,这些电脑包括 Sinclair Research ZX81 和 ZX Spectrum,以及 Atari ST。后来他从苏塞克斯大学获得了数学学位,他还涉足过戏剧,在一支灵魂乐队中弹奏过键盘,之后在 20 世纪 90 年代初,他决定编写演示程序,并于 1997 年开始在 Codemasters 的伦敦办公室工作,从此进入游戏行业。1999 年,他加入了 Creative Assembly,现在是那里的工程实践主管。他从事《全面战争》系列游戏的工作,管理着早期的游戏目录,也负责在工程团队中提升编程水准。他在IGGI 咨询委员会、BSI C 小组和 ISO C 委员会中任职。他是 ACCU 委员会的标准官员,并在 ACCU 会议的编程委员会任职。他是#include Discord 服务器的管理员。他担任多个组织的行为准则负责人。他会在 C 会议和各种聚会上发言,特别是活跃于将线性代数添加到标准库的相关议题中。凯特·格雷戈里从接触编程、结识几位*亲密的朋友到认识她的丈夫,都是 1977 年在滑铁卢大学完成的,所有这些她从未想过回头。她的专业是化学工程,这正说明你很难从一个人的专业中看出什么。她在安大略省农村的地下室有一个小房间,里面放着一些古老的计算机:PET、C64、手工焊接的 6502 系统等,她把这些作为一个更单纯时代的纪念品。1986 年以来她与丈夫一起经营 Gregory 咨询公司,帮助世界各地的客户更好地完成工作。Kate 曾在五大洲都做过主题演讲,偏爱发掘一些改变认知的真相,然后与人分享,此外还投入大量的时间在各种 C 活动中做志愿者。其中#include 是她的*爱,此社区正在改变这个行业,使其更受欢迎也更具包容性。他们的 Discord 服务器是一处温馨的场所,在这里你可以作为初学者学习 C ,也可以参与 WG21 的文章创作工作以改变我们使用的语言,或者做任何介于两者之间的事情。J.盖伊·戴维森于 1980 年通过 Acorn Atom 首次接触到计算机。他青少年时代的大部分时间都是在各种家用电脑上编写游戏,这些电脑包括 Sinclair Research ZX81 和 ZX Spectrum,以及 Atari ST。后来他从苏塞克斯大学获得了数学学位,他还涉足过戏剧,在一支灵魂乐队中弹奏过键盘,之后在 20 世纪 90 年代初,他决定编写演示程序,并于 1997 年开始在 Codemasters 的伦敦办公室工作,从此进入游戏行业。1999 年,他加入了 Creative Assembly,现在是那里的工程实践主管。他从事《全面战争》系列游戏的工作,管理着早期的游戏目录,也负责在工程团队中提升编程水准。他在IGGI 咨询委员会、BSI C 小组和 ISO C 委员会中任职。他是 ACCU 委员会的标准官员,并在 ACCU 会议的编程委员会任职。他是#include Discord 服务器的管理员。他担任多个组织的行为准则负责人。他会在 C 会议和各种聚会上发言,特别是活跃于将线性代数添加到标准库的相关议题中。凯特·格雷戈里从接触编程、结识几位*亲密的朋友到认识她的丈夫,都是 1977 年在滑铁卢大学完成的,所有这些她从未想过回头。她的专业是化学工程,这正说明你很难从一个人的专业中看出什么。她在安大略省农村的地下室有一个小房间,里面放着一些古老的计算机:PET、C64、手工焊接的 6502 系统等,她把这些作为一个更单纯时代的纪念品。1986 年以来她与丈夫一起经营 Gregory 咨询公司,帮助世界各地的客户更好地完成工作。Kate 曾在五大洲都做过主题演讲,偏爱发掘一些改变认知的真相,然后与人分享,此外还投入大量的时间在各种 C 活动中做志愿者。其中#include 是她的*爱,此社区正在改变这个行业,使其更受欢迎也更具包容性。他们的 Discord 服务器是一处温馨的场所,在这里你可以作为初学者学习 C ,也可以参与 WG21 的文章创作工作以改变我们使用的语言,或者做任何介于两者之间的事情。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0