C++编程思想(第2版) 第1卷:标准C++导引
基本信息
推荐阅读
内容简介回到顶部↑
本书第1版荣获美国“软件开发”杂志评选的1996年图书震撼大奖(Jolt Award),中文版自2000年推出以来,经久不衰,获得了读者的充分肯定和高度评价。
第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”。前者与“对象导言”实际上是第1版“对象的演化”一章的彻底重写,增加了近几年面向对象方法和编程方法的最新研究与实践的丰硕成果;后者的添加使不熟悉C的读者可以直接使用本书。删去了四章:“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”,删去的内容均为C++中较复杂的主题,作者将它们连同C++标准完成后增加的一些内容放到本书的第2卷中,使本书的第1卷内容显得更加集中,可以供不同程度的读者选择阅读。需要强调的是,第2版的改变不仅体现在这些章节的调整上,更多的改变体现在每一章的字里行间,包括例子的调整和练习的补充。与众不同的精心选材和认真推敲的叙述使得第2版更趋成熟。
本书是C++领域内一本权威的著作,书中的内容、讲授方法、例子和练习既适合课堂教学,又适合读者自学。无论是高等院校计算机及相关专业的学生,还是业界的从业人员,以及广大的计算机爱好者,都可从阅读本书中获益。
第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”。前者与“对象导言”实际上是第1版“对象的演化”一章的彻底重写,增加了近几年面向对象方法和编程方法的最新研究与实践的丰硕成果;后者的添加使不熟悉C的读者可以直接使用本书。删去了四章:“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”,删去的内容均为C++中较复杂的主题,作者将它们连同C++标准完成后增加的一些内容放到本书的第2卷中,使本书的第1卷内容显得更加集中,可以供不同程度的读者选择阅读。需要强调的是,第2版的改变不仅体现在这些章节的调整上,更多的改变体现在每一章的字里行间,包括例子的调整和练习的补充。与众不同的精心选材和认真推敲的叙述使得第2版更趋成熟。
本书是C++领域内一本权威的著作,书中的内容、讲授方法、例子和练习既适合课堂教学,又适合读者自学。无论是高等院校计算机及相关专业的学生,还是业界的从业人员,以及广大的计算机爱好者,都可从阅读本书中获益。
作译者回到顶部↑
目录回到顶部↑
第1章 对象导言 1
1.1 抽象的过程 1
1.2 对象有一个接口 2
1.3 实现的隐藏 4
1.4 实现的重用 5
1.5 继承:重用接口 5
1.5.1 is-a 关系和is-like-a 关系 8
1.6 具有多态性的可互换对象 8
1.7 创建和销毁对象 11
1.8 异常处理:应对错误 12
1.9 分析和设计 12
1.9.1 第0阶段:制定计划 14
1.9.1.1 任务陈述 14
1.9.2 第1阶段:我们在做什么 14
1.9.3 第2阶段:我们将如何建立对象 16
1.9.3.1 对象设计的五个阶段 17
1.9.3.2 对象开发准则 18
1.9.4 第3阶段:创建核心 18
1.9.5 第4阶段:迭代用例 19
1.9.6 第5阶段:进化 19
1.1 抽象的过程 1
1.2 对象有一个接口 2
1.3 实现的隐藏 4
1.4 实现的重用 5
1.5 继承:重用接口 5
1.5.1 is-a 关系和is-like-a 关系 8
1.6 具有多态性的可互换对象 8
1.7 创建和销毁对象 11
1.8 异常处理:应对错误 12
1.9 分析和设计 12
1.9.1 第0阶段:制定计划 14
1.9.1.1 任务陈述 14
1.9.2 第1阶段:我们在做什么 14
1.9.3 第2阶段:我们将如何建立对象 16
1.9.3.1 对象设计的五个阶段 17
1.9.3.2 对象开发准则 18
1.9.4 第3阶段:创建核心 18
1.9.5 第4阶段:迭代用例 19
1.9.6 第5阶段:进化 19
译者序回到顶部↑
作为译者,我有幸组织翻译了《C++编程思想》第1版。在这之前,我仅仅耳闻这是一本别具特色的畅销书,至于如何别具特色,如何得以畅销,并不十分清楚。在第1版的翻译过程中,我逐渐领悟了Eckel编写技巧的真谛。在第1版中文版的译者序中,我曾这样总结他的技巧:“其内容、讲授方法、选用例子和跟随的练习,别具特色。原书作者不是按传统的方法讲解C++的概念和编程方法,而是根据他自己过去学习C++的亲身体会,根据他多年教学中从他的学生们的学习中发现的问题,用一些非常简单的例子和简练的叙述,阐明了在学习C++中特别容易混淆的概念。特别是,他经常通过例子引导读者从C++编译实现的汇编代码的角度反向审视C++的语法和语义,常常使读者有‘心有灵犀一点通’的奇特效果,这在以往的C++书中并不多见。”
《C++编程思想》第1版的中文版自2000年1月第1次印刷以来,在中国市场上的畅销势头经久不衰。这充分说明了这本书在中国读者心目中的地位。
Eckel致力于计算机程序设计语言教学数十年,而且是全心全意地从事这项工作,这本身就是难能可贵的,是他成功的根本原因。另外,他的成功还有赖于他的精益求精的精神,这不仅表现在第1版的与众不同的精心选材和认真推敲的叙述方面,也体现在第2版与第1版的不同点上。
表面上,第2版与第1版并无太多的变化,但是通过分析,可以看出,其中的任何变化都是经过深思熟虑的。从章节上看,最大的区别是增加了两章和去掉了四章。增加的两章分别是“对象的创建与使用”和“C++中的C”。前者与“对象导言”实际上是第1版的“对象的演化”一章的彻底重写,增加了近几年面向对象方法和编程方法的最新研究与实践的丰硕成果。后者的添加不仅使不熟悉C的读者直接使用这本书成为可能,而且C本身就是C++的组成部分,这是C++得以成功的主要原因之一。删去的四章是“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”。这四章属于C++中较复杂的主题,作者将它们连同C++标准完成后又增加的一些内容放到这本书的第2卷中。这样就使得这本书的第1卷内容更加集中,一般的读者可以不被这些复杂内容所困扰,而需要这些复杂知识的读者可以阅读这本书的第2卷。
实际上,第2版的改变不仅仅在于这些章节的调整,更多的改变体现在每一章中,包括例子的调整和练习的补充。这本书更成熟了。
受机械工业出版社华章公司计算机编辑部委托,我又承担起《C++编程思想》第2版的翻译组织任务。翻译这样的成功之作,既是机遇,更是压力。有如此众多的读者阅读我们翻译的作品,无论如何这是令人高兴的事情。诚然,吸引读者的魅力来源于原作,而不是我们的翻译技巧,但是能将如此光辉灿烂的作品变成中文版本,奉献给中国的读者,这其中毕竟融入了我们的心血,而且,第1版中文版的畅销,已经充分证明,并未因我们翻译水平的限制而黯淡了原作的光芒,这对我们已经够宽慰的了。然而,百万双眼睛在阅读这本书的同时也在审视我们的翻译水平,这就足以使我们诚惶诚恐的了。翻译在某种意义上是再创作的过程,读者见仁见智。为求更多的满意,我们只有尽力而为。由于时间和水平限制,翻译错误在所难免,恳请读者指正。
参加第2版翻译和审校工作的人员包括:刘宗田、韩冬、蔡烈斌、袁兆山、潘秋菱、许东、李航、肖苑、刘璐、姜桂华、张卿、邵坤、陈慧琼、何允如、贾亮、童朝柱、邢大红、潘飚、刘莹、姜川、冯鸿等。
感谢为本书第1版和第2版中文版作出贡献的所有朋友。感谢关心和支持本书翻译出版的广大读者。
刘宗田
2002.8.10
《C++编程思想》第1版的中文版自2000年1月第1次印刷以来,在中国市场上的畅销势头经久不衰。这充分说明了这本书在中国读者心目中的地位。
Eckel致力于计算机程序设计语言教学数十年,而且是全心全意地从事这项工作,这本身就是难能可贵的,是他成功的根本原因。另外,他的成功还有赖于他的精益求精的精神,这不仅表现在第1版的与众不同的精心选材和认真推敲的叙述方面,也体现在第2版与第1版的不同点上。
表面上,第2版与第1版并无太多的变化,但是通过分析,可以看出,其中的任何变化都是经过深思熟虑的。从章节上看,最大的区别是增加了两章和去掉了四章。增加的两章分别是“对象的创建与使用”和“C++中的C”。前者与“对象导言”实际上是第1版的“对象的演化”一章的彻底重写,增加了近几年面向对象方法和编程方法的最新研究与实践的丰硕成果。后者的添加不仅使不熟悉C的读者直接使用这本书成为可能,而且C本身就是C++的组成部分,这是C++得以成功的主要原因之一。删去的四章是“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”。这四章属于C++中较复杂的主题,作者将它们连同C++标准完成后又增加的一些内容放到这本书的第2卷中。这样就使得这本书的第1卷内容更加集中,一般的读者可以不被这些复杂内容所困扰,而需要这些复杂知识的读者可以阅读这本书的第2卷。
实际上,第2版的改变不仅仅在于这些章节的调整,更多的改变体现在每一章中,包括例子的调整和练习的补充。这本书更成熟了。
受机械工业出版社华章公司计算机编辑部委托,我又承担起《C++编程思想》第2版的翻译组织任务。翻译这样的成功之作,既是机遇,更是压力。有如此众多的读者阅读我们翻译的作品,无论如何这是令人高兴的事情。诚然,吸引读者的魅力来源于原作,而不是我们的翻译技巧,但是能将如此光辉灿烂的作品变成中文版本,奉献给中国的读者,这其中毕竟融入了我们的心血,而且,第1版中文版的畅销,已经充分证明,并未因我们翻译水平的限制而黯淡了原作的光芒,这对我们已经够宽慰的了。然而,百万双眼睛在阅读这本书的同时也在审视我们的翻译水平,这就足以使我们诚惶诚恐的了。翻译在某种意义上是再创作的过程,读者见仁见智。为求更多的满意,我们只有尽力而为。由于时间和水平限制,翻译错误在所难免,恳请读者指正。
参加第2版翻译和审校工作的人员包括:刘宗田、韩冬、蔡烈斌、袁兆山、潘秋菱、许东、李航、肖苑、刘璐、姜桂华、张卿、邵坤、陈慧琼、何允如、贾亮、童朝柱、邢大红、潘飚、刘莹、姜川、冯鸿等。
感谢为本书第1版和第2版中文版作出贡献的所有朋友。感谢关心和支持本书翻译出版的广大读者。
刘宗田
2002.8.10
前言回到顶部↑
像任何人类语言一样,C++提供了一种表达思想的方法。如果这种表达方法是成功的,那么当问题变得更大和更复杂时,该方法将会明显地表现出比其他方法更容易和更灵活的优点。
不能只把C++看做是语言要素的一个集合,因为有些要素单独使用是没有意义的。如果我们不只是用C++语言编写代码,而是用它思考“设计”问题,那么必须综合使用这些要素。而且,为了以这种方法理解C++,我们必须了解使用C的问题和一般的编程问题。本书讨论的是编程问题、为什么这些编程问题会成为要解决的问题以及用C++解决编程问题所采用的方法。因此,在每一章中所解释的一组语言要素,都建立在C++语言解决某一类特殊问题所用方法的基础之上。以这种方式,我希望一点一点地引导读者,从掌握C开始,直到读者使用C++变成自己的母语思维方式。
我将始终坚持一种观点:读者应当在头脑中建立一个模型,以便逐步理解这种语言,直到炉火纯青的程度。如果读者遇到难题,他可以将问题纳入这个模型,推导出答案。我将努力把已经印在我脑海中的见解传授给读者,正是这些见解,使得我能开始“用C++进行思考”。
0.1 第2版中的新内容
本书是第1版的彻底重写,反映了C++标准最终完成所带来的C++的所有改变,也反映了自从第1版写完后我又学习到的内容。我已经检查并重写了第1版中的全部文字,在这个过程中,我删去了一些过时的例子,修改了一些现有的例子,并增加了一些新的例子和新的练习。我对第1版的内容进行了大规模的重新整理和重新编排,以便反映新出现的更好的工具和我对人们如何学习C++的进一步理解。为方便没有C背景知识的读者能阅读本书后面的章节,在第2版增加了一章,简要地介绍C概念和基本的C++特征。本书配套的CD ROM包含了一份课堂讨论的材料,这是为了理解C++(或Java)所必需的C概念的介绍,这是由Chuck Allison为我的公司(MindView, Inc.)创建的,称为“Thinking in C: Foundations for Java and C++”,它介绍了转向C++或Java所必需的C的知识。其中省略了C程序员必须每天面对,而C++和Java语言能让我们避免的繁琐的内容(在Java中,甚至可能消除这些繁琐的工作)。
因而,对于“第2版与第1版相比有何不同”这个问题的简要回答是:不同之处不在于版本号是新的,而是进行了重写,有的地方读者甚至无法认出原来的例子和材料。
0.1.1 第2卷的内容是什么
C++标准增加了一些重要的新库,例如String、在标准C++库中的容器和算法,以及模板中的新的复杂性。这些新增的内容和其他更高级的主题被放进本书的第2卷,包括多重继承、异常处理、设计模式和建立和调试稳定系统等内容。
0.1.2 如何得到第2卷
就像当前你手上的这本书一样,《C++编程思想》第2卷完全可以从我的网站www.BruceEckel.com上下载。
这个站点还包括这两本书的源代码,以及有关MindView公司提供的CD ROM上其他课堂讨论材料的更新和信息,其中包括:公开课堂讨论、内部培训、辅导课和演示。
0.2 预备知识
在本书第1版中,我假定读者已经学习了C,并至少具有自如阅读的水平。我的重点放在简化我认为比较困难的部分:C++语言。第2版增加了一章,快速地介绍C,并在光盘上提供“Thinking in C”的课堂讨论材料,但是即使如此,我仍然假设读者具有一定的程序设计经验。另外,正如读者可以通过读小说而直接地学会许多新词一样,读者也可以从在本书后面的文字中学习有关于C的大量知识。
0.3 学习C++
我希望本书的读者有和我进入C++时相同的情况:作为一个C程序员,对于编程持有实在而执着的态度。但糟糕的是,我的背景和经验是在硬件层的嵌入式编程方面。在那里,C常常被看做高层语言,它对于位操作是低效率的。后来我发现,自己甚至不是一个好的C程序员,平时总是掩盖了对malloc( )和free( )、setjmp( )和longjmp( )结构以及其他“复杂”概念的无知,当开始触及这些主题时就竭力回避,而不是努力去获取新的知识。
在我开始致力于学习C++时,当时惟一像样的书是Stroustrup夫子自道式的“专家指南”,因此我只好靠自己弄清基本概念。这引出了我的第一本关于C++的书,这本书基本上就是直接把我头脑中的经验倒出来而写成的。它的构思是作为读者的指南,引导程序员同时进入C和C++。这本书的两个版本 都收到了读者的热情反响。
几乎就在《Using C++》出版的同时,我开始讲授这门语言。讲授C++已经变成了我的职业。自1989年以来,在授课时我看到了世界各地听众昏昏欲睡的样子、茫然不知的面容和困惑不解的表情。当我对一些人数不多的人群进行内部培训时,在练习过程中又发现了某些问题。即便那些面带微笑和会心点头的学生,实际上对许多问题也还是糊涂的。通过开创和多年主持“软件开发会议”的C++和Java系列专题,我发现,我和其他讲演者都有一种倾向,即过快地向听众灌输了过多的主题。后来,我做了一些努力,通过区别对待不同层次的听众和提供相关资料的方法,尽量吸引听众。也许这是过分的要求,但是因为我是一个抵触传统教学的人(对于大部分人而言,我相信这种抵触源于厌倦),所以希望我通过努力,使每一个人都能跟得上教学进度。
有一段时间,我编写了大量的教学演示。这样,我结束了通过实验和重复方式进行学习(在设计C++程序的过程中,这也是一项很有用的技术)的阶段。最后,从我多年的教学经验中总结出来的所有内容,形成了一门课程。在课程中,我用一系列分离的、易于理解的步骤并采用实地课堂讨论的形式解决学习中的问题(理想的学习情况),并在每次课后面跟随着练习。读者能从www.BruceEckel.com找到我的公开课堂讨论,还可以学习我已经制作成CD ROM的课堂讨论材料。
本书的第1版是作为两学年制课程编写的,并且书中的内容已经在许多不同的课堂讨论上通过了多种形式的检验。我从每次课堂讨论上收集反馈意见,不断地修改和调整内容,直到我感觉到它已经成为一本很好的教材为止。但这本书不仅仅是课堂讨论的分发教材,而且我在其中放入了尽可能多的信息,在结构上使得它能引导读者顺利地通过当前主题和进入下一个主题。另外,这本书也适合于自学读者,能帮助他们尽快地掌握这门新的编程语言。
0.4 目标
不能只把C++看做是语言要素的一个集合,因为有些要素单独使用是没有意义的。如果我们不只是用C++语言编写代码,而是用它思考“设计”问题,那么必须综合使用这些要素。而且,为了以这种方法理解C++,我们必须了解使用C的问题和一般的编程问题。本书讨论的是编程问题、为什么这些编程问题会成为要解决的问题以及用C++解决编程问题所采用的方法。因此,在每一章中所解释的一组语言要素,都建立在C++语言解决某一类特殊问题所用方法的基础之上。以这种方式,我希望一点一点地引导读者,从掌握C开始,直到读者使用C++变成自己的母语思维方式。
我将始终坚持一种观点:读者应当在头脑中建立一个模型,以便逐步理解这种语言,直到炉火纯青的程度。如果读者遇到难题,他可以将问题纳入这个模型,推导出答案。我将努力把已经印在我脑海中的见解传授给读者,正是这些见解,使得我能开始“用C++进行思考”。
0.1 第2版中的新内容
本书是第1版的彻底重写,反映了C++标准最终完成所带来的C++的所有改变,也反映了自从第1版写完后我又学习到的内容。我已经检查并重写了第1版中的全部文字,在这个过程中,我删去了一些过时的例子,修改了一些现有的例子,并增加了一些新的例子和新的练习。我对第1版的内容进行了大规模的重新整理和重新编排,以便反映新出现的更好的工具和我对人们如何学习C++的进一步理解。为方便没有C背景知识的读者能阅读本书后面的章节,在第2版增加了一章,简要地介绍C概念和基本的C++特征。本书配套的CD ROM包含了一份课堂讨论的材料,这是为了理解C++(或Java)所必需的C概念的介绍,这是由Chuck Allison为我的公司(MindView, Inc.)创建的,称为“Thinking in C: Foundations for Java and C++”,它介绍了转向C++或Java所必需的C的知识。其中省略了C程序员必须每天面对,而C++和Java语言能让我们避免的繁琐的内容(在Java中,甚至可能消除这些繁琐的工作)。
因而,对于“第2版与第1版相比有何不同”这个问题的简要回答是:不同之处不在于版本号是新的,而是进行了重写,有的地方读者甚至无法认出原来的例子和材料。
0.1.1 第2卷的内容是什么
C++标准增加了一些重要的新库,例如String、在标准C++库中的容器和算法,以及模板中的新的复杂性。这些新增的内容和其他更高级的主题被放进本书的第2卷,包括多重继承、异常处理、设计模式和建立和调试稳定系统等内容。
0.1.2 如何得到第2卷
就像当前你手上的这本书一样,《C++编程思想》第2卷完全可以从我的网站www.BruceEckel.com上下载。
这个站点还包括这两本书的源代码,以及有关MindView公司提供的CD ROM上其他课堂讨论材料的更新和信息,其中包括:公开课堂讨论、内部培训、辅导课和演示。
0.2 预备知识
在本书第1版中,我假定读者已经学习了C,并至少具有自如阅读的水平。我的重点放在简化我认为比较困难的部分:C++语言。第2版增加了一章,快速地介绍C,并在光盘上提供“Thinking in C”的课堂讨论材料,但是即使如此,我仍然假设读者具有一定的程序设计经验。另外,正如读者可以通过读小说而直接地学会许多新词一样,读者也可以从在本书后面的文字中学习有关于C的大量知识。
0.3 学习C++
我希望本书的读者有和我进入C++时相同的情况:作为一个C程序员,对于编程持有实在而执着的态度。但糟糕的是,我的背景和经验是在硬件层的嵌入式编程方面。在那里,C常常被看做高层语言,它对于位操作是低效率的。后来我发现,自己甚至不是一个好的C程序员,平时总是掩盖了对malloc( )和free( )、setjmp( )和longjmp( )结构以及其他“复杂”概念的无知,当开始触及这些主题时就竭力回避,而不是努力去获取新的知识。
在我开始致力于学习C++时,当时惟一像样的书是Stroustrup夫子自道式的“专家指南”,因此我只好靠自己弄清基本概念。这引出了我的第一本关于C++的书,这本书基本上就是直接把我头脑中的经验倒出来而写成的。它的构思是作为读者的指南,引导程序员同时进入C和C++。这本书的两个版本 都收到了读者的热情反响。
几乎就在《Using C++》出版的同时,我开始讲授这门语言。讲授C++已经变成了我的职业。自1989年以来,在授课时我看到了世界各地听众昏昏欲睡的样子、茫然不知的面容和困惑不解的表情。当我对一些人数不多的人群进行内部培训时,在练习过程中又发现了某些问题。即便那些面带微笑和会心点头的学生,实际上对许多问题也还是糊涂的。通过开创和多年主持“软件开发会议”的C++和Java系列专题,我发现,我和其他讲演者都有一种倾向,即过快地向听众灌输了过多的主题。后来,我做了一些努力,通过区别对待不同层次的听众和提供相关资料的方法,尽量吸引听众。也许这是过分的要求,但是因为我是一个抵触传统教学的人(对于大部分人而言,我相信这种抵触源于厌倦),所以希望我通过努力,使每一个人都能跟得上教学进度。
有一段时间,我编写了大量的教学演示。这样,我结束了通过实验和重复方式进行学习(在设计C++程序的过程中,这也是一项很有用的技术)的阶段。最后,从我多年的教学经验中总结出来的所有内容,形成了一门课程。在课程中,我用一系列分离的、易于理解的步骤并采用实地课堂讨论的形式解决学习中的问题(理想的学习情况),并在每次课后面跟随着练习。读者能从www.BruceEckel.com找到我的公开课堂讨论,还可以学习我已经制作成CD ROM的课堂讨论材料。
本书的第1版是作为两学年制课程编写的,并且书中的内容已经在许多不同的课堂讨论上通过了多种形式的检验。我从每次课堂讨论上收集反馈意见,不断地修改和调整内容,直到我感觉到它已经成为一本很好的教材为止。但这本书不仅仅是课堂讨论的分发教材,而且我在其中放入了尽可能多的信息,在结构上使得它能引导读者顺利地通过当前主题和进入下一个主题。另外,这本书也适合于自学读者,能帮助他们尽快地掌握这门新的编程语言。
0.4 目标
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· C/C++ 经典著作(《C专家编程》《C++ Templates中文版》《C和指针 》《C陷阱与缺陷》《C++沉思录》)
评论交流
共有260人开贴评论 668人参与评论 187人参与打分 查看
发表于:2005-8-8 21:29:00
翻译的人去*吧!!!看看你们把一本好书蹧蹋成什么样子:
It’s even better to avoid writing code that uses the = for
initialization; instead, always use the explicit constructor form。
中文版:对于初始化,使用"="可以避免写代码。不用总是用显示的构造函数形式。(中文版288页)
原文的意思明明是:最好避免写用"="初始化的代码,而是使用显式的构造函数形式。
经过你们这些白痴一翻译,意思完全反了!
再举个例子,中文版第278页:只有会改变左侧参数的运算符赋值(如“+”、“=”)和operator=,....
原文明明是(如“+=”)。
你们这帮白痴,英文没学好,难道连这些字符照抄都不会吗?
It’s even better to avoid writing code that uses the = for
initialization; instead, always use the explicit constructor form。
中文版:对于初始化,使用"="可以避免写代码。不用总是用显示的构造函数形式。(中文版288页)
原文的意思明明是:最好避免写用"="初始化的代码,而是使用显式的构造函数形式。
经过你们这些白痴一翻译,意思完全反了!
再举个例子,中文版第278页:只有会改变左侧参数的运算符赋值(如“+”、“=”)和operator=,....
原文明明是(如“+=”)。
你们这帮白痴,英文没学好,难道连这些字符照抄都不会吗?
| 我要写评论 |
| 查看所有评论交流(共260条) |


点击看大图







加载中...
