More Effective C++(中文版)

[美] Scott Meyers

出版时间

2010-12-31

ISBN

9787121125706

评分

★★★★★

标签

编程

书籍介绍

本书是Scott Meyers大师Effective三部曲之一。继Effective C++之后,Scott Meyers于1996推出这本书。虽然出版年代稍嫌久远,但《More Effective C++》并没有第2版,原因是当其出版之时(1996),C++ Standard已经几乎定案,本书即依当时的标准草案而写,其与现今的C++标准规范几乎相同。而且可能变化的几个弹性之处,Meyers也都有所说明与提示。

AI导读
核心看点
  • 深入探讨指针与引用的本质区别
  • 详解操作符重载的陷阱与最佳实践
  • 剖析虚函数、多态及资源管理内幕
适合谁读
  • 已掌握C++基础,欲进阶的开发者
  • 读过Effective C++的进阶读者
  • 对底层机制与设计模式感兴趣的程序员
读前提醒
  • 部分技巧在C++11后已非必需
  • 建议结合现代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 /"
作者简介
Scott Meyers 世界顶级的C++软件开发技术权威之一。他是两本畅销书Effective C++和More Effective C++的作者,以前曾经是C++ Report的专栏作家。他经常为C/C++ Users Journal和Dr. Dobb's Jour nal撰稿,也为全球范围内的客户做咨询活动。他也是Advisory Boards for NumeriX LLC和InfoCruiser公司的成员。他拥有Brown University的计算机科学博士学位。
目录
译序(侯捷)
导读(introduction)
基础议题(basics)
条款1:仔细区别 pointers 和 references
distinguish between pointers and references.

显示全部
用户评论
Techniques、Idioms、Patterns
C++开发必读经典。
在读还是读过呢?豆瓣应该搞个读不下去的选项...
太枯燥了,看不下去,一个不会做饭的人教他放多少油多少料他是没有感觉的……
内容组织非常好,提供了很多设计上的建议和启发。书中提到的一些编译器可能没有实现的功能,现在都以普遍实现。每一条款的描述要比Effective C++详细,比Effective C++略难,是一本C++好书。
一看就想睡,我真不适合计算机😅
很经典,有些内容现在显得有点过时,但学习其中的思考方式也是有所收获的。有些内容就是手把手的教你一种设计模式,虽然作者没明说。
各种重载操作符,真头疼。。
实话说读得有些头昏脑胀,也许还是自己太菜了。有一些涉及设计模式相关的觉得有所收获。
经典
下载
收藏