C++编程思想(两卷合订本)

(美)Bruce Eckel

出版时间

2011-06-30

ISBN

9787111350217

评分

★★★★★
书籍介绍

本书是《C++编程思想》两卷的汇总。第1卷是在第1版的基础上进行了更加深入分析和修改后的第2版,其内容、讲授方法、选用实例以及配套的练习别具特色,可以供不同程度的读者选择阅读。第2卷介绍了C++实用的编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++的字符串、输入输出流的现代用法;解释多重继承问题的难点,描述了典型的设计模式及其实现,特别介绍了多线程处理编程技术。

在本书作者的个人网站www.BruceEckel.com上提供:

 本书的英文原文、源代码、练习解答指南、勘误表及补充材料。

 本书相关内容的研讨和咨询。

 本书第1卷及第2卷英文电子版的免费下载链接。

Bruce Eckel 是MindView公司的总裁,向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一,他也是《Java编程思想》(该书第3版影印版及翻译版已由机械工业出版社引进出版)。他曾经写过另5本面向对象编程书籍,发表过150篇以上的文章,是多本计算机杂志的专栏作家。他经常参加世界各地的研讨会并进行演讲。

Chuck Allison 曾是《C/C++ Users》杂志的资深编辑,著有《C/C++ Code Capsules》一书。他是C++标准委员会的成员,犹他谷州立学院的计算机科学教授。他还是Fresh Sources公司的总裁,该公司专门从事软件培训和教学任务。

AI导读
核心看点
  • 本书系统阐述C++面向对象编程思想,从抽象、封装、继承到多态,深入讲解对象创建、接口设计及实现隐藏等核心概念,帮助读者建立严谨的编程思维,理解C++语言设计背后的哲学与逻辑。
  • 内容涵盖异常处理、异常安全设计、字符串及IO流现代用法、多重继承难点解析及设计模式实现,特别强调多线程编程技术,提供大量实用编程技巧和最佳实践,提升代码健壮性与工程能力。
  • 作者Bruce Eckel以独特视角剖析C++特性,虽部分技术点如旧版标准已过时,但其对语言底层机制、错误处理及大型程序设计策略的讲解仍具极高参考价值,适合深入理解C++复杂特性与系统级开发。
适合谁读
  • 具备C语言基础并希望转向C++开发的程序员,本书可作为过渡指南,帮助理解C++相较于C的改进与差异,建立面向对象编程思维,避免陷入C式编程陷阱,实现技术栈的合法升级。
  • 有一定C++基础但希望深入理解语言底层机制、异常处理、多线程及设计模式的开发者,本书提供深入的技术细节与最佳实践,适合在项目中遇到复杂问题时查阅参考,提升代码质量与架构能力。
  • 计算机专业学生或研究人员,需系统学习C++语言规范与编程思想,本书内容严谨、逻辑清晰,虽部分技术过时,但其对OOP原则、抽象过程及系统设计的讲解仍具学术价值,适合教学与理论研究。
读前提醒
  • 强烈建议阅读英文原版,中文版翻译质量普遍较差,存在大量语意不通、术语错误,严重影响理解;作者官网提供英文原文、源代码及练习解答,可辅助学习,避免被劣质翻译误导,确保知识获取准确。
  • 本书部分内容基于旧版C++标准,与现代C++11/14/17/20特性存在差异,读者需结合现代C++资料对照学习,避免习得过时写法;建议跳过过时章节,重点关注OOP思想、异常处理、设计模式等通用原则。
  • 不要试图逐字精读全书,本书适合作为工具书或参考指南,在开发实践中遇到问题时查阅相关章节;避免陷入炫技式学习,应聚焦于解决实际工程问题,理解语言特性背后的设计意图,而非死记硬背语法细节。
读者共识
  • 翻译质量极差,严重损害阅读体验,多数读者强烈建议阅读英文原版;中文版存在大量错误与不通顺表述,无法准确传达作者原意,甚至误导读者,不建议作为主要学习材料,仅可作为辅助参考。
  • 内容虽部分过时,但OOP思想、异常处理、设计模式等核心章节仍具极高价值;作者讲解深入浅出,逻辑清晰,有助于理解C++复杂特性背后的原理,适合有基础者深化理解,但不适合零基础入门。
  • 本书不适合初学者作为第一本C++教材,因内容繁杂、部分技术过时且翻译糟糕;建议先通过其他现代C++教程入门,再以此书深入理解语言底层机制与工程实践,避免走弯路,提升学习效率。

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

精彩摘录
  • ""you shouldn't use a default argument as a flag upon which to conditionallly execute code. you should instead break the function into two or more overloaded functions""
  • "在C中,我们常常发现能使程序通过编译,然后我们必须再花力气使它工作。"
  • "与刚才忽略不满足判定函数的元素不同..."
  • "But, and this is an important point, as soon as you decide to write your own copy-constructor and assignment operator, the compiler assumes that you know what you’re doing and does not automatically call the base-class versions, as it does in the synthesized functions. If you want the base class ver"
  • "$ g++ c12TypeConversation.cpp c12TypeConversation.cpp: 在函数‘int main()’中: c12TypeConversation.cpp:48:20: 错误: 对‘Person::Person(Person)’的调用没有匹配的函数 c12TypeConversation.cpp:48:20: 附注: 备选是: c12TypeConversation.cpp:19:5: 附注: Person::Person(const char*) c12TypeConversation.cpp:19:5: 附注: no known conversion "
  • "construction Jack copy construction Jack Jack free Jack construction MARY MARY free MARY free Jack"
  • "像任何人类语言一样,C++提供了一种表达思想的方法。如果这种表达方法是成功的,那么当问题变得更大和更复杂时,该方法将会明显的表现出比其他方法更容易和更灵活的优点。"
作者简介
Bruce Eckel 是MindView公司的总裁,向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一,他也是《Java编程思想》(该书第3版影印版及翻译版已由机械工业出版社引进出版)。他曾经写过另5本面向对象编程书籍,发表过150篇以上的文章,是多本计算机杂志的专栏作家。他经常参加世界各地的研讨会并进行演讲。 Chuck Allison 曾是《C/C++ Users》杂志的资深编辑,著有《C/C++ Code Capsules》一书。他是C++标准委员会的成员,犹他谷州立学院的计算机科学教授。他还是Fresh Sources公司的总裁,该公司专门从事软件培训和教学任务。
目录
出版者的话
出版说明
第1卷 标准C++导引
译者序 3
前言 5

显示全部
用户评论
有点无奈,去奋斗吧。
翻译太差
看完了第一卷,很棒的书
入门经典
看的是否是英文版并不重要,这书适合在一定强度的开发学习中同步使用,快速带过。很多时候搞不懂一个语言特性在干嘛或者设计的意图,主要是因为还没在实践中用过。不得不说,CPP是一门需要学会退而求其次的语言,想要尽量学得高大全去炫技是毫无意义的。
@2016-02-01 20:48:43
A mental model.
C++语言复杂难学,这本书深入浅出,娓娓道来,相对于C++语言发明人Bjarne Stroustrup 的《C++程序设计语言》更容易理解,可以帮助我们快速掌握C++精髓。
比较老的一本书,第一部主要是C语言转到C++语言,对于C++的原理讲的比较透彻,第二部主要讲C++的特性,相比现代C++,很多知识点都是老的。
下载
收藏