More Effective C++(中文版)

[美] Scott Meyers

出版时间

2010-12-31

ISBN

9787121125706

评分

★★★★★

标签

编程

书籍介绍
这本书最见功力的地方,不在告诉你「该做什么」,而在教你如何在两难之间取舍。它把 C++ 里那些看似平凡、却暗藏陷阱的细节摊开给你看:指针与引用究竟何时该用谁、为什么引用更快、为什么多态下绝不能处理数组、operator new 与 new 表达式为何是两码事。作者不给你「绝对正确」的教条,而是呈现每一种技巧背后的复杂度成本与收益权衡——比如引用计数、代理类,明知付出了巨大复杂度,效果却有限,仍要「在夹缝中求生存」。 因此它更适合已经写过几年 C++、踩过坑、愿意为正确性付出思考成本的读者,而非入门即弃的速查手册。它不承诺让你写出更快的代码,只让你在面对一个具体抉择时,能看清代价所在。
作者简介
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的计算机科学博士学位。
AI导读
核心看点
  • 深入探讨指针与引用的本质区别
  • 详解操作符重载的陷阱与最佳实践
  • 剖析虚函数、多态及资源管理内幕
读者共识
  • 经典之作,虽旧但思考方式仍有价值
  • 比前作更深入,部分技巧略显繁琐
  • 适合查漏补缺,提升代码设计水平
精彩摘录
  • "…… 首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些 对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。 …… 因为引用肯定会指向一个对象,在 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 /"
目录
译序(侯捷)
导读(introduction)
基础议题(basics)
条款1:仔细区别 pointers 和 references
distinguish between pointers and references.

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