Effective C++

[美] Scott Meyers

出版时间

2010-12-31

ISBN

9787121123320

评分

★★★★★

标签

编程

书籍介绍

在国际上,本书所引起的反响,波及整个计算机技术的出版领域,余音至今未绝。几乎在所有C++书籍的推荐名单上,这本书都会位于前三名。

作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。

这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要你去反复阅读体会的,C++是真正程序员的语言,背后有着精深的思想与无以伦比的表达能力,这使得它具有类似宗教般的魅力。

AI导读
核心看点
  • 汇集55条准则,涵盖构造、资源管理及模板等核心议题。
  • 深入剖析C++底层机制,如对象切割、内存分配与接口设计。
  • 强调接口易用性与防误用,提供高效且安全的编程惯用法。
适合谁读
  • 具备C++基础,希望提升代码质量与工程能力的开发者。
  • 有实际项目经验,能结合实践理解书中痛点的程序员。
  • 追求极致性能,需深入理解C++对象模型与内存管理的读者。
读前提醒
  • 本书非入门语法书,初学者若无经验可能难以共鸣,建议慎入。
  • 内容基于C++98/03,部分示例可能过时,需结合现代C++理解。
  • 译文风格独特,部分表述略显拗口,建议配合英文原版对照阅读。
读者共识
  • C++程序员必读经典,被誉为区分资深与初级程序员的试金石。
  • 内容干货满满,需反复阅读体会,一遍很难完全吸收精髓。
  • 虽年代久远,但核心思想不过时,对解决工程实际问题极有帮助。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "1. “促进正确使用”的方法包括接口的一致性,以及与内置类型的行为兼容。 2. “阻止误用”的方法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。 3. 使用shared_ptr支持定制型删除器;也可以用来自动解除互斥锁。"
  • "Class的设计就是type的设计 。重载函数和操作符、控制内存的分配和归还、定义对象的初始化和总结。。。"
  • "前者更为高效,并可避免切割问题(slicing problem)。切割问题:当一个derived class对象以by value方式传递并被视为一个base class对象,base class的copy 构造函数会被调用,而derived class的那些特化性质全部被切割了。 该规则并不适用于内置类型,以及STL的迭代器和函数对象。对于它们而言,pass-by-value往往比较合适。"
  • "绝不要反悔pointer或reference指向一个local stack对象,或反悔一个heap-allocated对象,或反悔pointer或reference指向一个local static对象而有可能同时需要多个这样的对象。"
  • "一致性。这样客户就不需在打算访问class成员时迷惑地记住是否改用小括号。 如果有一个public变量,而我们最终取消了它,有可能会影响到所有使用到它的代码。而取消protect变量,只会影响到使用它的derived class。所以最好使用private封装变量。"
  • "这样可以增加封装性、包裹弹性和机能扩充性。"
  • "考虑接口为: const Rational operator*(const Rational& rhs) const; Rational oneFouth(1, 4); Rational result = oneFouth * 2; // 能编译通过 result = 2 * oneFouth; //不能编译通过"
  • "Rational result = oneFouth.operator*( 2 ); // 很好 result = 2.operator*(oneFouth); // 错误"
作者简介
Scott Meyers 全世界最知名的C++软件开发专家之一。是畅销书Effective C++系列(Effective C++, More Effective C++, Effective STL)的作者,又是创新产品《Effective C++ CD》的设计者和作者,也是Addison-Wesley的“Effective Software Development Series"顾问编辑,以及《Software Development》杂志咨询板成员。为若干新公司的技术咨询板提供服务。Meyers于1993年自Brown大学获得计算机博士学位。他的网址是www,aristeia.com
目录
译序
中英简繁术语对照
目录
序言
致谢

显示全部
用户评论
当课外补充吧,比较零碎,多是提醒之类的建议
C++名著,内容不必多说,有些是从没考虑到的问题,有些是没有那么深入。之所以买中文版是冲着侯捷的翻译,后来发现直译的也不少,估计是太忙了翻译之后也没空通读一遍吧。
就像书中评论的一样,如果没读过这本书,却认为自己对C++无所不晓,恐怕你得三思。
整体来说还是不错,入门级的。
不错的图书 对提高战斗能力 帮助巨大
补。
花了四天时间简单翻完了。cpp真是狗屎语言。
还会再读一次的
干货
总是想转向java,可是有丢弃不了现在这个。索性就提高。 太多次,准备阅读这本书,现在才算是正式开始。 的确是一本很不错的书,有一些我没有注意过的地方,甚至有一些东西我竟然不知道。哈哈哈哈。
下载
收藏