More Effective C++中文版

Scott meyers

出版时间

2003-02-28

ISBN

9787508314860

评分

★★★★★
书籍介绍

MoreEffectiveC++的重点包括:

  ·经过验证的一些用来改善程序效率的方法,包括尖锐而犀利地检验C++语言特性所带来的时间和空间上的成本

  ·广泛描述C++专家所使用的高阶技术,包括placement new,virtual constructors,smart pointers,reference counting,proxy classes,double-dispa

AI导读
核心看点
  • 深入解析C++高阶技术如智能指针与代理类
  • 剖析语言特性带来的时间与空间成本
  • 提供35条改善编程效率与设计的有效方法
适合谁读
  • 具备一定C++基础与编码经验的开发者
  • 希望深入理解C++底层机制的进阶程序员
  • 追求代码极致效率与高质量设计的工程师
读前提醒
  • 建议先阅读《Effective C++》再读此书
  • 部分内容涉及C++98标准,需留意过时点
  • 难度较高,建议结合实践消化抽象概念
读者共识
  • 虽部分技术过时,但设计思想仍具经典价值
  • 比前作更深入,是C++程序员必读的进阶书
  • 侯捷翻译质量上乘,阅读体验流畅且专业

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

精彩摘录
  • "…… 首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些 对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。 …… 因为引用肯定会指向一个对象,在 C++里,引用应被初始化。 …… 不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。"
  • "…… 指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变。 …… 总的来说,在以下情况下你应该使用指针,一是你考虑到存在不指向任何对象的可能 (在这种情况下,你能够设置指针为空),二是你需要能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向)。如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么你应该使用引用。 还有一种情况,就是当你重载某个操作符时,你应该使用引用。最普通的例子是操作符[]。这个操作符典型的用法是返回一个目标对象,其能被赋值。 …… 当你知道你必须指向一个对象并且不想改变其指向"
  • "Note the tell-tale virtual destructor, a sure sign this class is designed for use as a base class (see Item E14). Note also how the destructor is a pure virtual function, a sure sign this class is designed to be used only as a base class. RCObject::~RCObject() {} // virtual destructors must always /"
目录
序导读1 基础议题2 操作符3 异常4 效率5 技术6 杂项讨论推荐读物索引
用户评论
通用度比effecitve c++要窄了不少
这本书看的是电子版,而且看在Effective C++的前面。 这两本书总是让我想到那两本《编程珠玑》。
学cpp必读,经典中的经典。
在byr买的复印版。看完C++ Primer再看这本书挺好看的,就像在看脑筋急转弯。它会告诉我在我的思维中潜藏的问题。
n=1
姐妹篇 不容错过
粗略的看了一下,后面要做cpp的项目的话,再深入拜读吧。
介绍了一些有用的技巧,并不是像《Effective C++》中那样每个条款都是建议吧。
经典书籍,必读。只是c++几乎没写过,实际用时需要重看。
第一次读的时候有种惊艳的感觉
收藏