特别是,他经常通过例子引导读者从C++编译实现的汇编代码的角度反向审视C++的语法和语义,常常使读者有‘心有灵犀一点通’的奇特效果[1]。
作为译者,我有幸组织翻译了《C++编程思想》第1版。在这之前,我仅仅耳闻这是一本别具特色的畅销书,至于如何别具特色,如何得以畅销,并不十分清楚。在第1版的翻译过程中,我逐渐领悟了Eckel编写技巧的真谛。在第1版中文版的译者序中,我曾这样总结他的技巧:“其内容、讲授方法、选用例子和跟随的练习,别具特色。原书作者不是按传统的方法讲解C++的概念和编程方法,而是根据他自己过去学习C++的亲身体会,根据他多年教学中从他的学生们的学习中发现的问题,用一些非常简单的例子和简练的叙述,阐明了在学习C++中特别容易混淆的概念。
本书第1版荣获“软件开发”杂志评选的1996年度最佳图书震撼大奖,中文版自2000年推出以来,经久不衰,获得了读者的充分肯定和高度评价。
第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”,前者与“对象导言”实际上是第1版“对象的演化” 一章的彻底重写,增加了近几年面向对象方法和编程方法的最瓣研究与实践的有效成果,后者的添加使不熟悉C的读者可以直接使用本书。删去了四章:“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”,删去的内容属于C++中较复杂的主题,作者将它们连同C++标准完成后又增加的一些内容放到本书的第2卷中,使得本书的第1卷内容更加集中,供不同程度的读者选择阅读。需要强调的是,第2版的改变不仅体现在这些章节的调整上,更多的改变体现在每一章的字里行间中,包括例子的调整和练习的补充。与众不同的精心选材和认真推敲的叙述使得第2版更趋成熟。
本书是C++领域一本权威的著作,书中的内容、讲授方法、选用例子和跟随练习既适合课堂教学,又适合读者自学。无论是高等院校计算机及相关专业的学生,还是业界的专业人员,以及广大的计算机爱好者,都可从阅读本书中获得宝贵的收益.
Bruce Eckel 《Thinking in Java》(Java编程思想)作者。Eckel有20年专业编程经验,并自1986年起教育人们如何撰写面向对象程序,足迹遍及全球,成为一位知名的 C++教师和顾问,如今兼涉Java。他是C++标准委员会拥有表决权的成员之一,曾经写过另五本面向对象编程书籍,发表过150篇以上的文章,是多本计算机杂志的专栏作家。Eckel开创Software Development Conference的C++、Java、Python等多项研讨活动。拥有应用物理学学士和计算机工程学硕士学位。
第1卷:标准C++导引
目录
译者序
前言
第1章 对象导言
第2章 对象的创建与使用
第3章 C++中的C
第4章 数据抽象
第5章 隐藏实现
第6章 初始化与清除
第7章函数重载与默认参数
第8章 常量
第9章内联函数
第10章 名字控制
第11章 引用和拷贝构造函数
第12章运算符重载
第13章 动态对象创建
第14章继承和组合
第15章多态性和虚函数
第16章 模板介绍
附录A 编码风格
附录B 编程准则
附录C 推荐读物
索引
第2卷:实用编程技术
出版者的话
专家指导委员会
译者序
前言
第一部分 建立稳定的系统
第1章异常处理
第2章 防御性编程
第二部分 标准C++库
第3章 深入理解字符串
第4章 输入输出流
第5章 深入理解模板
第6章 通用算法
第7章 通用容器
第三部分 专题
第8章 运行时类型识别
第9章 多重继承
第10章 设计模式
第11章 并发
附录
附录A 推荐读物
附录B 其他
索引
MindView公司的官方网站有第二章的答案供读者预览,在购买之后可以下载到答案,读者需要为此支付12美元。
不过,编者特意找到一个较完整的共享免费版本提供给网友,相关链接见扩展阅读。