C++编程规范

[加] Herb Sutter

出版时间

2010-12-01

ISBN

9787115239402

评分

★★★★★

标签

计算机

书籍介绍
这不是一本教你C++语法的书,而是一位资深工程师几十年踩坑后凝练出的"经验速查表"。它最打动人的地方在于那种近乎苛刻的务实态度:"让一个正确的程序更快速,比让一个快速的程序正确更容易","简单优于复杂,清晰优于机巧"——每一条规范背后都是对真实工程代价的权衡。读者反复提到,这本书"没有大量实践会很快忘记",它适合"随着经验积累反复品读",而非一蹴就地通读。它不追求面面俱到的理论推演,而是把Effective C++等经典浓缩成101条可直接对照检查的准则。如果你正从"能写代码"走向"写好代码",这本书的价值恰恰在于:它提醒你别把时间浪费在不成熟的优化上,而该把精力放在让代码真正可维护、可理解之上。
作者简介
Herb Sutter 曾任ISO C++标准委员会主席,是C++ Users Journal杂志特邀编辑和专栏作家。他目前在微软公司领导.NET环境下C++语言扩展的设计工作。除本书外,他还撰写了三本广受赞誉的图书:Exceptional C++ Style、Exceptional C++和More Exceptional C++。 Andrei Alexandrescu 世界顶尖的C++专家,C++ Users Journal杂志的专栏作家,他的Modern C++ Design一书曾荣获2001年最佳C++图书称号,书中所开发的Loki已经成为最负盛名的C++程序库之一。
AI导读
核心看点
  • 汇集全球C++专家智慧,提炼101条核心编程规范。
  • 涵盖设计、编码、异常处理等全方位最佳实践。
  • 强调简单、清晰、安全,提升代码质量与维护性。
读者共识
  • C++编程经验集大成者,是制定团队规范的基础。
  • 比Effective系列更精简,覆盖面广但阅读有门槛。
  • 需大量实践支撑,否则难以深刻理解规范背后的深意。
精彩摘录
  • "无法修改的库头文件可能包含引起警告(可能是良性的)的构造。如果这样,可以用自己的包含原头文件的版本将此文件包装起来,并有选择地为该作用域关闭烦人的警告,然后在整个项目的其他地方包含此包装文件。"
  • "软件简单为美:质量优于速度,简单优于复杂,清晰优于机巧,安全优于不安全。"
  • "如果能够证明优化必要而且非常重要,尤其在数据量逐渐增长的情况下,那么应该集中精力改善算法的O(N)复杂性,而不是进行小型的优化,比如节省一个多余的加法运算。"
  • "让一个正确的程序更快速,比让一个快速的程序正确,要容易得太多,太多。"
  • "许多类型要求对这种共享对象进行串行访问,但是有些类型却不要求这样。后者通常要么从设计中去掉加锁需求,要么自己进行内部加锁,无论哪种情况,仍然需要留意内部加锁粒度的局限。"
  • "在函数声明中,要避免将通过值传递的函数参数声明为const。"
  • "不要编写依赖于函数参数求值顺序的代码"
  • "将私有部分隐藏在一个不透明的指针(即指向已经声明但是尚未定义的类的指针,最好是选择合适的智能指针)"
目录
组织和策略问题 1
第0条 不要拘泥于小节(又名:了解哪些东西不应该标准化) 2
第1条 在高警告级别干净利落地进行编译 4
第2条 使用自动构建系统 7
第3条 使用版本控制系统 8

显示全部
用户评论
C++标准化后编程经验类集大成,不知C++11出来后价值几何?
原来是从第0条开始,难怪有101条.
适合随着经验的积累反复品读的书
不知道是翻译的原因,还是什么;读起来很不顺畅...而且例子也很少...不适合初学者...
很好地总结,利用上班时间读完了。哈哈
很多条目与 effective c++, more effective c++ 相同,只是解释的更为简单。老毛病就是中文翻译实在......
初学者应该尽快按照规范模仿编程。
这本书是对工程经验的高度概括,没有大量的实践会很快忘记
经典 比effective c++讲得短小 所以读起来比较吃力 但是覆盖面会更多些
求书
收藏