• 正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)
  • 正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)
  • 正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)
  • 正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)
  • 正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)
  • 正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)

正版✔C++之美:代码简洁、安全又跑得快的30个要诀 (英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)✍C++之父及核心准则缔造者作序力荐|30条浓缩精华来自世界级真实项目经验|直击大型复杂工程实践难点与暗坑|向C++14/17/20的技能跃迁正版全新书籍现货如需其他图书敬请联系客服:)

全新✔正版✔现货✔假一罚十! 购书满188可开发票,满688赠神秘礼物! 节假日正常发货~ 量大请联系客服享受团购价~✨ 海量图书尚未上架,如需其他书书敬请联系客服

60.13 5.5折 109 全新

库存9件

上海浦东

作者(英)J. Guy Davidson(J. 盖伊·戴维森),(加)Kate Gregory(凯特·格雷戈里)

出版社电子工业出版社

ISBN9787121482434

出版时间2024-07

装帧平装

开本128开

页数294页

字数356千字

定价109元

货号4505070*NVaC0y9J0

上书时间2025-08-21

   商品详情   

品相描述:全新
商品描述
【编辑推荐】 
编写优质的C 代码说难也不难。《C 核心准则》可以帮助每一位C 开发者设计和编写极其可靠、高效且行为正确的C 程序。然而,这份文档中大量极好的建议堆积在一起,让人不知该从何处着手。那么就从这本《C 之美》开始吧。
C 专家J.Guy Davidson和Kate Gregory选出30条特别有价值的核心准则,并提供了改进C 代码风格的详尽的实用知识。为便于参考,本书的结构与《C 核心准则》保持高度一致。
J.Guy  Davidson和Kate  Gregory在全书中都提供了有用的概念性见解和专家级示例代码,阐明了行之有效的方法,以便更加成功地运用新的和长期存在的语言特性,他们还展示了如何默认写出更健壮、更高效的程序。
O 防止“避重就轻”:不要在细枝末节上浪费宝贵的时间
O不要编写以后会出问题的代码,以至于伤害到自己
O 了解哪些遗留特性需要避开,而改用现代特性
O 正确使用更新的特性,得其裨益而不产生新的问题
O 默认写出静态类型安全、防泄漏且易于演进的更高质量的代码
O 将核心准则用于所有现代C 版本:C 20、C 17、C 14或C 11

【内容简介】 
本书从《C 核心准则》(C Core Guidelines)中精心挑选了 30 条准则进行细致、深入的讲解。内容涵盖C 语言最主要的方面,如类型系统、面向对象、模板和元编程、错误处理、程序性能、常量性等,其间又恰如其分地穿插了编码风格、设计模式等主题。书中汇集了作者数十年职业生涯的经验和一些有趣的示例,除了深刻的见解,行文也充满了趣味性。作者试图通过这种突出重点、以点带面的方式帮助读者了解并学习《C 核心准则》,进而更深入地掌握 C 这门编程语言,特别是它的"现代”形态。本书适合各种经验水平的 C 开发者阅读。

【目录】 
第1章 避重就轻不可取 1 
1.1 P.2:使用ISO标准C 编写代码 2 
什么是ISO标准C 2 
封装差异 4 
了解以前的用法 8 
紧跟标准的发展 9 
1.2 F.51:在有选择的情况下,优先使用默认参数而非重载 12 
引言 12 
改进抽象概念:是增加参数还是重载 13 
微妙的重载解决 14 
回到示例代码 16 
默认参数天然的明确性 18 
函数重载的替代方案 19 
有时必须重载 19 
小结 20 
1.3 C.45:不要定义仅初始化数据成员的默认构造函数,而应使用类内成员 
?初始化 21 
为什么要有默认构造函数 21 
你是怎样初始化数据成员的 22 
两个人维护一个类时会怎样 25 
小结 27 
1.4 C.131:避免平凡的get和set函数 28 
一种古老的惯用法 28 
抽象 29 
单纯的封装 31 
类不变式 34 
名词和动词 36 
小结 37 
1.5 ES.10:每条语句只声明一个名字 38 
我来引入你 38 
向后兼容 40 
写出更加清晰的声明 42 
结构式绑定 43 
小结 44 
1.6 NR.2:不强求函数只用一条return语句 45 
规则会演化 45 
确保资源得到清理 47 
使用RAII 50 
编写好的函数 52 
小结 54 
第2章 不要伤害自己 55 
2.1 P.11:将凌乱的构造封装起来,而不是使其散布于代码中 56 
“一口吞”式做法 56 
封装一种凌乱的构造意味着什么 58 
语言的目的和抽象的本质 60 
抽象的层次 63 
通过重构和分割实现抽象 64 
小结 65 
2.2 I.23:尽量减少函数参数 66 
他们应该挣多少 66 
通过抽象简化问题 68 
尽可能少,但不要更少 70 
现实例子 72 
小结 73 
2.3 I.26:使用C风格子集获取跨编译器的ABI 74 
创建程序库 74 
什么是ABI 75 
最小的C风格子集 77 
异常的传播 79 
小结 80 
2.4 C.47:按声明的顺序定义并初始化成员变量 82 
小结 90 
2.5 CP.3:尽量减少可写数据的显式共享 91 
传统执行模型 91 
等等,不止这些 93 
避免死锁和数据竞争 95 
抛开锁和互斥体 97 
小结 100 
2.6 T.120:只在真正需要时使用模板元编程 101 
std::enable_if => requires 108 
小结 112 
第3章 别再使用 113 
3.1 I.11:切勿通过原生指针(T*)或引用(T&)转移所有权 114 
使用自由存储区 114 
智能指针的性能成本 117 
使用未修饰的引用语义 118 
gsl::owner 119 
小结 121 
3.2 I.3:避免使用单例 122 
全局对象是不好的 122 
单例设计模式 123 
静态初始化顺序的尴尬 123 
如何隐藏一个单例 125 
但它就该只有一份 127 
等一下…… 128 
小结 130 
3.3 C.90:使用构造函数和赋值运算符,而不是memset和memcpy 131 
追求最优性能 131 
构造函数的巨大开销 132 
最简单的类 133 
C 标准到底在说什么 135 
那么,memcpy呢 137 
永远不要低估编译器 139 
小结 140 
3.4 ES.50:不要用强制转换去除const限定符 141 
故事时间 141 
处理更大的数据量 142 
const防火墙 143 
实现双接口 144 
缓存和懒惰求值 146 
两种类型的const 147 
const惊奇篇 149 
小结 150 
3.5 E.28:避免基于全局状态(如errno)的错误处理 151 
错误处理很难 151 
C和errno 151 
返回错误代码 153 
异常 154 
<system_error> 154 
Boost.Outcome 155 
错误处理为何这样难 156 
隧道尽头的光 158 
小结 159 
3.6 SF.7:不要在头文件的全局作用域写using namespace 160 
不要这样做 160 
消除歧义 161 
使用using 162 
符号去了哪里 163 
一个更加隐蔽的问题 166 
解决作用域解析运算符的杂乱问题 168 
诱惑与堕落 169 
小结 169 
第4章 正确使用新特性 171 
4.1 F.21:优先选择结构体或元组返回多个“输出”值 172 
函数签名的形式 172 
文档和注解 173 
现在可以返回对象了 174 
也可以返回元组 177 
使用非const引用传递和返回 179 
小结 182 
4.2 Enum.3:优先选择class枚举而不是“普通”枚举 183 
常量 183 
作用域枚举 185 
基础类型 187 
隐式转换 188 
小结 190 
后记 190 
4.3 ES.5:保持作用域短小 191 
作用域的性质 191 
块作用域 192 
名字空间作用域 193 
类作用域 196 
函数参数作用域 198 
枚举作用域 199 
模板参数作用域 200 
作用域作为上下文 201 
小结 202 
4.4 Con.5:使用constexpr表示编译时可以计算的值 203 
从const到constexpr 203 
默认的C 205 
使用constexpr 206 
inline 210 
constevel 211 
constinit 212 
小结 213 
4.5 T.1:使用模板提高代码的抽象层次 214 
故事时间 214 
提高抽象的层次 216 
函数模板和抽象 218 
类模板和抽象 220 
命名很难 222 
小结 223 
4.6 T.10:为所有模板参数指定概念 224 
来龙去脉 224 
约束你的参数 226 
如何抽象你的概念 229 
通过概念分解 232 
小结 233 
第5章 默认写出好代码 234 
5.1 P.4:在理想情况下,程序应具有静态类型安全性 235 
类型安全是C 的一项安全特性 235 
联合体 237 
类型转换 238 
无符号数 241 
缓冲区和大小 244 
小结 245 
5.2 P.10:优先选择不可变数据而不是可变数据 246 
错误的默认设置 246 
函数声明中的常量性 248 
小结 252 
5.3 I.30:封装违反规则的部分 253 
隐藏生活中不悦目的东西 253 
保全体面 255 
小结 260 
5.4 ES.22:初始值确定后再声明变量 261 
表达式和语句的重要性 261 
C风格的声明 262 
先声明后初始化 263 
尽可能推迟的声明 264 
上下文特定功能的局部化 266 
消除状态 268 
小结 270 
5.5 Per.7:为促成优化而设计 271 
帧率最大化 271 
离硬件更远之后 273 
通过抽象进行优化 276 
小结 278 
5.6 E.6:使用RAII防止泄漏 279 
确定性析构 279 
文件泄漏 281 
为什么要做这些 284 
似乎还是有点儿多:未来的可能性 286 
从哪里获得这些工具 289 
后记 291 
跋 293 
【C 核心准则精选】 
P.2:使用ISO标准C 编写代码(1.1节)[ 可以在GitHub或者GitHub Pages上找到C Core Guidelines,查看详细内容。] 
P.4:在理想情况下,程序应具有静态类型安全性(5.1节) 
P.10:优先选择不可变数据而不是可变数据(5.2节) 
P.11:将凌乱的构造封装起来,而不是使其散布于代码中(2.1节) 
I.3:避免使用单例(3.2节) 
I.11:切勿通过原生指针(T*)或引用(T&)转移所有权(3.1节) 
I.23:尽量减少函数参数(2.2节) 
I.26:使用C风格子集获取跨编译器的ABI(2.3节) 
I.30:封装违反规则的部分(5.3节) 
F.21:优先选择结构体或元组返回多个“输出”值(4.1节) 
F.51:在有选择的情况下,优先使用默认参数而非重载(1.2节) 
C.45:不要定义仅初始化数据成员的默认构造函数,而应该使用类内成员初始化(1.3节) 
C.47:按声明的顺序定义并初始化成员变量(2.4节) 
C.90:使用构造函数和赋值运算符,而不是memset和memcpy(3.3节) 
C.131:避免平凡的get和set函数(1.4节) 
Enum.3:优先选择class枚举而不是“普通”枚举(4.2节) 
ES.5:保持作用域短小(4.3节) 
ES.10:每条语句只声明一个名字(1.5节) 
ES.22:初始值确定后再声明变量(5.4节) 
ES.50:不要用强制转换去除const限定符(3.4节) 
Per.7:为促成优化而设计(5.5节) 
CP.3:尽量减少可写数据的显式共享(2.5节) 
E.6:使用RAII防止泄漏(5.6节) 
E.28:避免基于全局状态(如errno)的错误处理(3.5节) 
Con.5:使用constexpr表示编译时可以计算的值(4.4节) 
T.1:使用模板提高代码的抽象层次(4.5节) 
T.10:为所有模板参数指定概念(4.6节) 
T120:只在真正需要时使用模板元编程(2.6节) 
SF.7:不要在头文件的全局作用域写using namespace(3.6节) 
NR.2:不强求函数只用一条return语句(1.6节)

【媒体评论】 
《C 之美》从开发者的视角讲解C 核心准 则,强调遵循这些准则将会得到的好处,以及无视这 些准则可能带来的噩梦。对真正的极客来说,本书是 轻松有趣的读物。对大多数软件开发者来说,它提供 了新的、有用的东西。
——Bjarne Stroustrup C 发明者和《C 核心准则》合编者
这本《C 之美》汲取了C Core Guidelines的精髓,并结合了作者十多年行业实战经验。这些源于真实项目的宝贵经验,对于所有热爱C 的编程者来说,都是无价的财富。
——@pansz 《C 之旅》(第3版)译者,知乎关注人数过百万答主
如果说Effective C 总结了许多微观层面的“避坑”建议,那么本书则提供了一份宏观层面的“避坑”指南,特别适合在学习完语法,完成一两个玩具项目之后,真正开始做一些严肃项目时阅读。
——@韦易笑 资深游戏开发专家
书中的内容几乎可以改进你编写、设计或维护的每一个程序。为方便实验,本书所有示例代码都可以从Compiler Explorer获取,具体获取方式请查看前言最后一部分。

【作者简介】 
J. Guy Davidson于1980年通过Acorn Atom首次接触编程。他青少年时代的大部分时间都在各种家用电脑上编写游戏。后来,他从苏塞克斯大学获得了数学学位,开始涉足戏剧,还在一个灵魂乐队中担任键盘手。20世纪90年代初,他决定编写演示程序,并于1997年开始在Codemasters的伦敦办公室工作,从此进入游戏行业。1999年,Davidson加入了Creative Assembly,现在是那里的工程实践主管。他主要负责《全面战争》(Total War)系列游戏的工作,整理早期的游戏目录,以及提升工程团队成员的编程水平。他是IGGI咨询委员会、BSI C 小组和ISO C 委员会的委员,还是ACCU(Association of C/C Users,C/C 用户协会)负责C 标准相关事宜的成员,并在ACCU的编程委员会任职。他是#include Discord服务器的管理员。他担任多个组织的行为准则负责人,在C 会议和各种聚会上发言,特别是关于在标准库中增加线性代数的议题。Kate Gregory接触编程、与几位最亲密的朋友结识,以及丈夫的相识,都发生在1977年的滑铁卢大学,所有这些她从未后悔过。她的学位是化学工程,这正说明你很难从一个人的学位中看出什么。她在加拿大安大略省乡下的地下室有一个小房间,里面放着一些古老的计算机:PET、C64、手工焊接的6502系统等,她把这些作为那个单纯年代的纪念品。自1986年起,她与丈夫一起经营Gregory咨询公司,帮助世界各地的客户更好地开展业务。Kate曾在五个大洲做过主题演讲,爱发掘一些改变认知的真相,然后与人分享,她还投入大量的时间在各种C 活动中做志愿者。其中“#include ”是她的最爱,该社区正在改变这个行业,使其更受欢迎也更具包容性。他们的Discord服务器是一处温馨的场所,初学者在那里可以学习C ,也可以为WG21合写文章以改变我们所使用的编程语言,或者做任何介于两者之间的事情。
译者:王江平,Autodesk软件开发工程师,毕业于同济大学/上海交通大学,爱编程,爱读书,爱翻译,爱C 。译有《C#3.0设计模式》、《敏捷开发的艺术》、《软件开发者路线图》、《Java语言精粹》、《Python计算与编程实践》、《Cucumber:行为驱动开发指南》等书籍。(微博@steedhorse,欢迎交流)

【前言】 
【推荐序一】
在数字化世界的无垠海洋中,每一串代码都如同一艘航船,载我们驶向未知与创新的港口。而C 这种兼具效率与灵活性的编程语言,宛如这片海洋中一颗耀眼的星。从诞生到今日,C 不仅见证了计算机科学由抽象理念到现实应用的壮丽变迁,更激发了程序员们对编程艺术的热爱与探索精神。
《C 之美》这本书就像一位智慧的导师,以其深邃且富有诗意的语言,带领我们遨游C 的瑰丽世界,挖掘隐藏在复杂编程结构和算法背后的美学。此书不仅是技术的教科书,还带领我们探索编程的本质和艺术,让我们在熟练掌握C 的同时,体会到编程本身的乐趣与成就感。
我,作为《C 之旅》一书的译者,同时也是拥有二十余年一线C 编程实战经验的程序员。在翻译和研读这些权威著作时,我深切感受到,作者们并非纸上谈兵,而是真正投身工程实践,对C 的细枝末节有着深刻而独到的见解。
这本《C 之美》汲取了C Core Guidelines的精髓,并结合了作者十多年行业实战经验。这些源于真实项目的宝贵经验,对于所有热爱C 的编程者来说,都是无价的财富。
我坚信,《C 之美》将成为每位C 爱好者的宝贵手册。它不仅会伴随你度过那些漫长的编程夜晚,更会在你迷茫之际,成为指引你前行的明灯。让我们共同启航,在《C 之美》的指引下,感受编程的纯粹与魅力,书写自己的编程传奇。
愿此书成为你编程之路上的灯塔,为你照亮通往更高成就的道路。
——@pansz 《C 之旅》(第3版)译者,知乎关注人数过百万答主
【推荐序二】
许多程序员在多年工作后,竟然一年都无法完整读完一本技术书。尽管他们一年内可以在知乎和各类社交媒体上阅读数百万字的内容,却无法读完一本仅有50万字的书。这并不是因为他们太忙、没有时间,而是因为人类天生就偏爱碎片化的快餐信息。然而,越是珍贵的东西,越需要付出努力才能获得,知识也不例外。不进行系统性的学习和深入的思考,是无法获得真正宝贵的知识的。
有些技能只要投入一定时间学习就能掌握,比如打字、驾驶、学习一门新的编程语言;而且一旦掌握它们,你就会终身受益。在这些事情上投入时间,性价比最高。
实话说,今天学习C 比以前更具挑战性了。一方面,新标准的引入提高了C 的安全性和描述力,但也增加了学习的难度;另一方面,过去大部分软件都用C 来开发,新人入职后通常先从小模块的开发开始,再逐步扩展到中模块、大模块,通过学习老同事的代码,在生产领域不断实践,总能一步一步提高编程能力,最终能设计较为复杂的大型系统。然而,如今的新人并没有这种阶梯式的锻炼机会,他们的第一语言往往不是C ,而当他们用其他语言开发几年后遇到性能瓶颈需要用C 时,突然根本无法驾驭。
同时,掌握C 也成为一项愈加珍贵的技能。新兴行业最初的各种基础设施和工具,大多是用C 构建的。无论是十多年前的移动开发领域,还是四五年前的音视频领域,乃至当下热门的AI领域,都是如此。例如TFLite、whisper.cpp和llama.cpp等这些都是C 项目,其中llama.cpp在GitHub上线两周内就获得了20,000个星标。同时精通C 和Python的算法工程师,相较于只会Python的程序员,能获得更多机会,走得更远。
关于C 语法的知识,自己花点儿时间总能学会,但在实际项目中积累经验与领悟却需要很长时间。不少人过于专注于穷尽语法的各个细节,却忽略了对大型复杂项目驾驭能力的培养,结果就是谈起C 标准来头头是道,在项目中写点儿复杂代码就垮了。
本书提炼和归纳了C 工程实践中的难点。我初读的感受很像是对过往认知的一次印证,不少准则让我很有共鸣,比如优先使用函数默认参数而非重载,尽量减少可写变量的显示共享等,这些建议在项目初期可能不会显得特别重要,但随着项目复杂度的增加,忽视它们所带来的问题才会逐渐显现出来。更隐蔽的是,当项目变得难以维护时,很多人可能无法意识到正是这些问题的积累导致了困境。
有些准则所描述的问题真的是多年的开发者才会遇到的“暗坑”,比如跨ABI需要使用C风格接口,优先选择不可变数据而不是可变数据,没有多年的C 编程经验是完全总结不出这些准则的。本书挑出的30条核心准则能帮助大家更好地驾驭大型复杂C 项目。如果说Effective C 总结了许多微观层面的“避坑”建议,那么本书则提供了一份宏观层面的“避坑”指南,特别适合在学习完语法,完成一两个玩具项目之后,真正开始做一些严肃项目时阅读。
——@韦易笑 资深游戏开发专家
【译者序】
C 不是一门简单的编程语言,这一点从相关的书籍上便可见一斑。首先,几乎每一本C 基础教程都是大部头;其次,仅关于惯用法和最佳实践就已经形成系列,而且出现了不少经典著作,比如Scott Meyers的“Effective”系列,Herb Sutter的“Exceptional”系列,以及其他一些单本,如C Gotchas、C Coding Standards等。
C 语言的发展从未停滞,最佳实践也随之发展。2014年,C 之父Bjarne Stroustrup和ISO C 标准委员会主席Herb Sutter共同编辑并维护了《C 核心准则》(C Core Guidelines),这无疑是现代C 最佳实践的集大成者。而且,它是一份动态文档,到本书定稿时,新的编辑意见仍在提交和合并中。
目前,《C 核心准则》分为近20个大类,包含的条目800有余,远远超过了以往任何一本最佳实践图书的内容。依其初衷,也限于篇幅,每个条目往往只说结论,外加简短的解释。
鉴于此,本书的两位作者从中精心挑选了30条核心准则,为读者做详细的解释。通过这种突出重点、以点带面的方式帮助读者了解并学习《C 核心准则》。书中的内容远不止理论上的分析和探讨,更包含了作者数十年职业生涯中的经验和示例,因此很多的深刻见解都是通过故事娓娓道出的。这样的方式既能将问题讲透,又使阅读的体验相对轻松。
30条准则在《C 核心准则》中所占的比例虽然很小,但讲解的内容涉及C 语言的各个主要方面,如类型系统、面向对象、模板和元编程、错误处理、性能、常量性,当然还有编码风格,甚至某些设计模式。很多时候,作者在讲解一条准则的时候也会引用其他的准则。
在翻译本书的过程中,我跟随作者的思路,不仅更深入地领会了《C 核心准则》,对随着各版新标准的推出而不断成长的现代C 语言也有了更多感悟。此外,在翻译的过程中,我也时常遇到自己工作中经常思考的问题,对作者的论述心有戚戚焉,但作者的总结更加通透。
倘若有幸,我的转达是有效的,相信读者朋友也能从中领略很多。若有表达不清之处,那一定是翻译的问题,希望朋友们不吝指正。
有幸翻译本书完全出于电子工业出版社张春雨老师的抬爱和信任,对此不胜感激。然而翻译的周期远远超出了最初的计划,导致图书未能及早付梓而到达读者手中,对此更应感谢所有编辑老师的谅解,也恳请读者朋友见谅。
——王江平 于上海
【序】
我很享受阅读本书的过程。我享受它,尤其因为它以一种与《C 核心准则》(C Core Guidelines,CG)本身完全不同的方式呈现了C 的核心准则。CG以一种固定格式,相对简短地给出了各条准则。在CG中,这些准则通常是用编程语言的术语表达的,强调如何通过静态分析来实施。本书却在讲故事,很多故事来自经历了几十年代码和技术演化的游戏行业。它以开发者的视角讲解这些准则,强调遵循这些准则将会得到的好处,以及无视这些准则可能导致的噩梦。关于准则的动机,相比CG本身所阐述的内容,在本书中有更加广泛的讨论。
CG旨在达到一定程度的完整性。当然,一套关于如何编写优良代码的准则难以达到彻底的完整性,而必要程度的完整性则意味着CG并不适合系统性阅读。我推荐各位阅读CG的前言和哲学部分,以了解其目标和概念框架。但是,如果要在品味、视角和经验的指导下有选择地了解CG,那就阅读本书吧。对真正的极客来说,本书是轻松有趣的读物。对大多数软件开发者来说,它提供了新的、有用的东西。
——Bjarne Stroustrup
【前  言】
随着每一版C 新标准的到来以及每一种新教程的出现,编写C 代码的复杂性逐渐降低。相关的会议、博客和书籍比比皆是,这是好事。世界上并没有足够多的高素质工程师来解决我们面临的实际问题。
尽管C 语言不断简化,但就如何编写好的C 代码而言,仍有很多东西需要学习。C 的发明者Bjarne Stroustrup和维护C 标准的机构的召集人Herb Sutter投入了大量精力来创作关于学习C 和编写更好的C 代码的教材。这些教材包括:The C Programming Language[ Bjarne Stroustrup著,Addison-Wesley出版。中文版名为《C 程序设计语言(第1-3部分)》(原书第4版),由机械工业出版社于2016年出版。]、A Tour of C [ Bjarne Stroustrup著,Addison-Wesley出版。中文版名为《C 之旅》(第3版),由电子工业出版社于2023年出版。],以及Exceptional C [ Herb Sutter 著,Addison-We

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP