×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
C++之美:代码整洁、安全又跑得快的30个要诀(英文版)

C++之美:代码整洁、安全又跑得快的30个要诀(英文版)

1星价 ¥77.4 (7.1折)
2星价¥77.4 定价¥109.0
暂无评论
图文详情
  • ISBN:9787121446009
  • 装帧:平塑
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:332
  • 出版时间:2024-05-01
  • 条形码:9787121446009 ; 978-7-121-44600-9

本书特色

《C++之美:代码整洁、安全又跑得快的30个要诀(英文版)》的结构与官方的 《C + + 核心准则》紧密一致。在整个过程中,两位作者提供了有价值的概念性见解和专家样本代码,阐述了更成功地使用新的和长期存在的语言特性的已证实的方法,并展示了如何编写默认情况下更健壮和性能更好的程序。

内容简介

本书从《C++核心准则》(C++ Core Guideline)数百个条目中精心挑选了30条准则进行细致、深入的讲解。内容涵盖C++语言*主要的方面,如类型系统、面向对象、模板和元编程、错误处理、程序性能、常量性等,其间又恰如其分地穿插了编码风格、设计模式等主题。探讨的过程中处处可见来自作者数十年职业生涯的经验和示例,除了深入的洞察,行文中充满了趣味性。作者试图通过这种突出重点、以点带面的方式帮助读者了解并学习C++核心准则,进而更深入地掌握C++这门编程语言,特别是它的“现代”形态。

目录

第1章 避重就轻不可取 21
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 的文章创作工作以改变我们使用的语言,或者做任何介于两者之间的事情。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航