C++ Primer中文版(第4版)(09年度畅销榜NO.9)(08年度畅销榜NO.7)(被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一)
基本信息
- 原书名: C++ Primer (4th Edition)
- 原出版社: Addison Wesley/Pearson
- 作者: (美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo [作译者介绍]
- 译者: 李师贤 蒋爱军 梅晓勇 林瑛
- 丛书名: 图灵程序设计丛书 C/C++系列
- 出版社:人民邮电出版社
- ISBN:7115145547
- 上架时间:2006-3-31
- 出版日期:2006 年3月
- 开本:16开
- 页码:900
- 版次:4-1
- 所属分类:
计算机 > 软件与程序设计 > C++ > C++
合作专区 > 微软技术图书 > 微软程序设计 > 微软C/C++/VC++
教材 > 研究生/本科/专科教材 > 工学 > 计算机
编辑推荐
一本久负盛名的C++经典教程,前几版深受读者喜爱
被china-pub会员评为“2007年我最喜爱的十大技术图书”之一
被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一
推荐阅读
内容简介回到顶部↑
书籍
计算机书籍
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。
对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。
本书的前言阐述了 第4版和前一版的不同之处。
计算机书籍
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。
对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。
本书的前言阐述了 第4版和前一版的不同之处。
作译者回到顶部↑
本书提供作译者介绍
Stanley B. Lippman目前是微软公司 Visual C++ 团队的架构师。他从1984年开始在贝尔实验室与C++的设计者Bjarne Stroustrup一起从事C++的设计与开发。他在迪士尼和梦工厂从事动画制作,还担任过JPL的高级顾问。他还著有Inside the C++ Object Model。
Josée Lajoie曾经是IBM加拿大研究中心C/C++编译器开发团队的成员,在ISO C++标准委员会工作了7年,担任过ISO核心语言工作组的主席和C++ Report杂志的专栏作家。
Barbara E. Moo是拥有25年软件经验的独立咨询顾问。在AT&T,她.. << 查看详细
Josée Lajoie曾经是IBM加拿大研究中心C/C++编译器开发团队的成员,在ISO C++标准委员会工作了7年,担任过ISO核心语言工作组的主席和C++ Report杂志的专栏作家。
Barbara E. Moo是拥有25年软件经验的独立咨询顾问。在AT&T,她.. << 查看详细
目录回到顶部↑
第1章 快速入门. 1
1.1 编写简单的c++程序 2
1.2 初窥输入/输出 5
1.2.1 标准输入与输出对象 5
1.2.2 一个使用io库的程序 5
1.3 关于注释 8
1.4 控制结构 10
1.4.1 while语句 10
1.4.2 for语句 12
1.4.3 if语句 14
1.4.4 读入未知数目的输入 15
1.5 类的简介 17
1.5.1 sales_item类 17
1.5.2 初窥成员函数 19
1.6 c++程序 21
小结 22
术语 22
第一部分 基本语言
第2章 变量和基本类型 29
2.1 基本内置类型 30
1.1 编写简单的c++程序 2
1.2 初窥输入/输出 5
1.2.1 标准输入与输出对象 5
1.2.2 一个使用io库的程序 5
1.3 关于注释 8
1.4 控制结构 10
1.4.1 while语句 10
1.4.2 for语句 12
1.4.3 if语句 14
1.4.4 读入未知数目的输入 15
1.5 类的简介 17
1.5.1 sales_item类 17
1.5.2 初窥成员函数 19
1.6 c++程序 21
小结 22
术语 22
第一部分 基本语言
第2章 变量和基本类型 29
2.1 基本内置类型 30
译者序回到顶部↑
作为目前业界广泛使用的编程语言,C++可谓包罗万象、博大精深。20年来,讲述C++的图书早已经汗牛充栋、层出不穷,但其中业界公认的完整涵盖C++标准的权威著作只有两部,曾经有评论将之喻为“倚天屠龙”。其中一部当然是C++之父Bjarne Stroustrup所著的《C++程序设计语言》,内容精辟深刻,但是要求较高,只适合有一定经验的程序员提升功力之用。而另一部就是本书,自1989年初版以来,历经多次修订,始终保持了内容全面准确、循序渐进、明快易读的特色,早已奠定了无可替代的经典地位。原版到第3版就累积销售了45万册以上,第3版的中文版引入国内时,也产生了极大影响,甚至曾经出现过洛阳纸贵的局面。本书的成功当然离不开强大的作者阵容。本书第一作者Stanley Lippman早在C++还处于萌芽时期就是Stroustrup所在的C++编译器项目团队的成员,目前又在微软领导Visual C++和CLI的开发,对C++可以说是了如指掌,实践经验极为丰富,加之多年来著书撰文不辍,在开发社区深孚众望,已成为公认的大师级人物。第二作者Josée Lajoie从第3版开始加入,她曾经在IBM从事C++编译器开发,并担任过ISO C++标准委员会核心语言工作组主席多年,她的加盟,充分保证了本书与C++标准的兼容。应该说,在很大程度上本书的第3版已臻完美。但是拿到第4版样书之后,我们发现新版完全不是对前版的简单扩充,不仅在布局结构上进行了彻底更新和重新规划,对具体文字和实例也进行了大幅改动,两个版本甚至很难找到相同的段落。在并无新版本的C++标准定案发布的情况下,作者撰写新版而且做出这么大修订的原因何在?而新版又有何重要改进呢? 众所周知,C++从C语言继承而来的历史包袱,C++对多种编程风格的支持,以及各种误解和不良习惯,都大大增加了C++教学和使用的复杂性,而传统教材和教学方法的各种弊端更加剧了这一情况,使C++成为不少人望而生畏的难学难用的“专家语言”。阅读本书后,我们不得不承认,几位大师级作者们很好地回应了上述挑战。这里我们应该特别提到本书新版增加的第三作者Barbara Moo。她作为项目经理,曾经领导了包括Stroustrup和Lippman在内的贝尔实验室C++编译器团队。她在斯坦福大学教授C++课程的丰富经验和教学改革成果,对本书新版产生了重大影响。相比之下,本书第4版主要有如下特点:反映了现代理念。新版紧扣C++语言当前的应用趋势——更加关注程序员的开发效率而不是系统的运行效率,摒弃了传统的阐述方式,不再注重低层编程技术,而是从一开始就强调标准库的使用,让人耳目一新。突出了实践性。新版在继承了本书原有特色——全面、详细、准确地介绍C++知识点的基础上,特别注重介绍那些实际开发中通用的、行之有效的编程技术。在特定场合,C++提供的丰富“武器库”中应该选择哪些设施,应该注意哪些问题,业界已经总结了哪些优秀的编程实践和易犯的错误等,而这些正是目前其他C++图书所缺乏的。增加了教学环节,改善了可读性。新版版式设计非常适合阅读,而且每一章都精心组织了重要术语、小结、大量示例和习题,文中另有丰富的额外提示和交叉引用,便于读者查找复习,消化核心概念,巩固所学知识。我们在翻译过程中深深感到,本书新版在经典前版的基础上又有了质的飞跃,体现了世界C++教学方面的最新进展和最高水平。我们衷心希望本书中文版的出版,能够推动国内C++教学和使用的发展。参加本书翻译工作的有李师贤、蒋爱军、梅晓勇、林瑛,全书由李师贤审校。参与部分校对或录入工作的还有古思山、黎永基、陈晓君、刘海伟等,在此对他们的工作表示衷心的感谢!感谢人民邮电出版社图灵公司的编辑们,他们为保证本书的质量做了大量的工作。由于书中概念和术语数目繁多,且有许多概念和术语目前尚无公认的中文译法,加之译者水平所限,译文中不当之处,恳请读者批评指正。
前言回到顶部↑
本书全面介绍了C++语言。作为一本入门书(Primer),它以教程的形式对C++语言进行清晰的讲解,并辅以丰富的示例和各种学习辅助手段。与大多数入门教程不同,本书对C++语言本身进行了详尽的描述,并特别着重介绍了目前通行的、行之有效的程序设计技巧。
无数程序员曾使用本书的前几个版本学习C++,在此期间C++也逐渐发展成熟。这些年来,C++语言的发展方向以及C++程序员的关注点,已经从以往注重运行时的效率,转到千方百计地提高程序员的编程效率上。随着标准库的广泛可用,我们现在能够比以往任何时候更高效地学习和使用C++。本书这一版本充分体现了这一点。 第4版的改动 为了体现现代C++编程风格,我们重新组织并重写了本书。书中不再强调低层编程技术,而把中心转向标准库的使用。书中很早就开始介绍标准库,示例也已经重新改写,充分利用了标准库设施。我们也对语言主题叙述的先后次序进行了重新编排,使讲解更加流畅。 除重新组织内容外,为了便于读者理解,我们还增加了几个新的环节。每一章都新增了“小结”和“术语”,概括本章要点。读者可以利用这些部分进行自我检查;如果发现还有不理解的概念,可以重新学习该章中的相关部分。 书中还加入了下述几种学习辅助手段: 重要术语用黑体表示,我们认为读者已经熟悉的重要术语则用楷体表示。这些术语都会出现在章后的“术语”部分。 书中用特殊版式突出标注的文字,是为了向读者提醒语言的重要特征,警示常见的错误,标明良好的编程实践,列出通用的使用技巧。希望这些标注可以帮助读者更快地消化重要概念,避免犯常见错误。为了更易于理解各种特征或概念间的关系,书中大量使用了前后交叉引用。.. 对于某些重要概念和C++新手最头疼的问题,我们进行了额外的讨论和解释。这部分也以特殊版式标出。 学习任何程序设计语言都需要编写程序。因此,本书提供了大量的示例。所有示例的源代码可从下列网址获得: http://www.awprofessional.com/cpp_primer 万变不离其宗,本书保持了前几版的特色,仍然是一部全面介绍C++的教程。我们的目标是提供一本清晰、全面、准确的指南性读物。我们通过讲解一系列示例来教授C++语言,示例除了解释语言特征外,还展示了如何善用这门语言。虽然读者不需要事先学过C语言(C++最初的基础)的知识,但我们假定读者已经掌握了一种现代结构化语言。 本书结构 本书介绍了C++国际标准,既涵盖语言的特征,又讲述了也是标准组成部分的丰富标准库。C++的强大很大程度上来自它支持抽象程序设计。要学会用C++高效地编程,只是掌握句法和语义是远远不够的。我们的重点,在于教会读者怎样利用C++的特性,快速地写出安全的而且性能可与C语言低层程序相媲美的程序。 C++是一种大型的编程语言,这可能会吓倒一些新手。现代C++可以看成由以下三部分组成: l 低级语言,多半继承自C。 l 更高级的语言特征,用户可以借此定义自己的数据类型,组织大规模的程序和系统。 l 标准库,使用上述高级特征提供一整套有用的数据结构和算法。 多数C++教材按照下面的顺序展开:先讲低级细节,再介绍更高级的语言特征;在讲完整个语言后才开始解释标准库。结果往往使读者纠缠于低级的程序设计问题和复杂类型定义的编写等细节,而不能真正领会抽象编程的力量。就更不用说学到足够的知识去创建自己的抽象了。 本版中我们独辟蹊径。一开始就讲述语言的基础知识和标准库,这样读者就可以写出比较大的有实际意义的程序来。透彻阐释了使用标准库(并且用标准库编写了各种抽象程序)的基础知识之后,我们才进入下一步,学习用C++的其他高级特征,来编写自己的抽象。 第一和第二部分讨论语言的基础知识和标准库设施。其重点在于学会如何编写C++程序,如何使用标准库提供的抽象设施。大部分C++程序员需要了解本书这两部分的内容。 除了讲解基础知识以外,这两部分还有另外一个重要的意图。标准库设施本身是用C++编写的抽象数据类型,定义标准库所使用的是任何C++程序员都能使用的构造类的语言特征。我们教授C++的经验说明,一开始就使用设计良好的抽象类型,读者会更容易理解如何建立自己的类型。 第三到第五部分着重讨论如何编写自己的类型。第三部分介绍C++的核心,即对类的支持。类机制提供了编写自定义抽象的基础。类也是第四部分中所讨论的面向对象编程和泛型编程的基础。全书正文的最后是第五部分,我们在这一部分讨论了一些高级特征,它们在构建大型复杂系统时最为常用。 致谢 与前几版一样,我们要感谢Bjarne Stroustrup,他不知疲倦地从事着C++方面的工作,他与我们的深厚友情由来已久。我们还要感谢Alex Stepanov,正是他最初凭借敏锐的洞察力创造了容器和算法的概念,这些概念最终形成了标准库的核心。此外,我们要感谢C++标准委员会的所有成员,他们多年来为C++澄清概念、细化标准和改进功能付出了艰苦的努力。 我们要衷心地感谢本书的审稿人,他们审阅了我们的多份书稿,帮助我们对本书进行了无数大大小小的修改。他们是Paul Abrahams、Michael Ball、Mary Dageforde、Paul DuBois、Matt Greenwood、Matthew P. Johnson、Andrew Koenig、Nevin Liber、Bill Locke、Robert Murray、Phil Romanik、Justin Shaw、Victor Shtern、Clovis Tondo、Daveed Vandevoorde和Steve Vinoski。 书中所有示例都已通过GNU和微软编译器的编译。感谢他们的开发者和所有开发其他C++编译器的人,是他们使C++变成现实。 最后,感谢Addison-Wesley的工作人员,他们引领了这一版的整个出版过程:Debbie Lafferty——我们最初的编辑,是他提出出版本书的新版,他从本书最初版本起就一直致力于本书;Peter Gordon——我们的新编辑,他坚持更新和精简本书内容,极大地改进了这一版本;Kim Boedigheimer——他保证了我们所有人能按进度工作;还有Tyrrell Albaugh、Jim Markham、Elizabeth Ryan和John Fuller,他们和我们一起经历了整个设计和制作过程。...
无数程序员曾使用本书的前几个版本学习C++,在此期间C++也逐渐发展成熟。这些年来,C++语言的发展方向以及C++程序员的关注点,已经从以往注重运行时的效率,转到千方百计地提高程序员的编程效率上。随着标准库的广泛可用,我们现在能够比以往任何时候更高效地学习和使用C++。本书这一版本充分体现了这一点。 第4版的改动 为了体现现代C++编程风格,我们重新组织并重写了本书。书中不再强调低层编程技术,而把中心转向标准库的使用。书中很早就开始介绍标准库,示例也已经重新改写,充分利用了标准库设施。我们也对语言主题叙述的先后次序进行了重新编排,使讲解更加流畅。 除重新组织内容外,为了便于读者理解,我们还增加了几个新的环节。每一章都新增了“小结”和“术语”,概括本章要点。读者可以利用这些部分进行自我检查;如果发现还有不理解的概念,可以重新学习该章中的相关部分。 书中还加入了下述几种学习辅助手段: 重要术语用黑体表示,我们认为读者已经熟悉的重要术语则用楷体表示。这些术语都会出现在章后的“术语”部分。 书中用特殊版式突出标注的文字,是为了向读者提醒语言的重要特征,警示常见的错误,标明良好的编程实践,列出通用的使用技巧。希望这些标注可以帮助读者更快地消化重要概念,避免犯常见错误。为了更易于理解各种特征或概念间的关系,书中大量使用了前后交叉引用。.. 对于某些重要概念和C++新手最头疼的问题,我们进行了额外的讨论和解释。这部分也以特殊版式标出。 学习任何程序设计语言都需要编写程序。因此,本书提供了大量的示例。所有示例的源代码可从下列网址获得: http://www.awprofessional.com/cpp_primer 万变不离其宗,本书保持了前几版的特色,仍然是一部全面介绍C++的教程。我们的目标是提供一本清晰、全面、准确的指南性读物。我们通过讲解一系列示例来教授C++语言,示例除了解释语言特征外,还展示了如何善用这门语言。虽然读者不需要事先学过C语言(C++最初的基础)的知识,但我们假定读者已经掌握了一种现代结构化语言。 本书结构 本书介绍了C++国际标准,既涵盖语言的特征,又讲述了也是标准组成部分的丰富标准库。C++的强大很大程度上来自它支持抽象程序设计。要学会用C++高效地编程,只是掌握句法和语义是远远不够的。我们的重点,在于教会读者怎样利用C++的特性,快速地写出安全的而且性能可与C语言低层程序相媲美的程序。 C++是一种大型的编程语言,这可能会吓倒一些新手。现代C++可以看成由以下三部分组成: l 低级语言,多半继承自C。 l 更高级的语言特征,用户可以借此定义自己的数据类型,组织大规模的程序和系统。 l 标准库,使用上述高级特征提供一整套有用的数据结构和算法。 多数C++教材按照下面的顺序展开:先讲低级细节,再介绍更高级的语言特征;在讲完整个语言后才开始解释标准库。结果往往使读者纠缠于低级的程序设计问题和复杂类型定义的编写等细节,而不能真正领会抽象编程的力量。就更不用说学到足够的知识去创建自己的抽象了。 本版中我们独辟蹊径。一开始就讲述语言的基础知识和标准库,这样读者就可以写出比较大的有实际意义的程序来。透彻阐释了使用标准库(并且用标准库编写了各种抽象程序)的基础知识之后,我们才进入下一步,学习用C++的其他高级特征,来编写自己的抽象。 第一和第二部分讨论语言的基础知识和标准库设施。其重点在于学会如何编写C++程序,如何使用标准库提供的抽象设施。大部分C++程序员需要了解本书这两部分的内容。 除了讲解基础知识以外,这两部分还有另外一个重要的意图。标准库设施本身是用C++编写的抽象数据类型,定义标准库所使用的是任何C++程序员都能使用的构造类的语言特征。我们教授C++的经验说明,一开始就使用设计良好的抽象类型,读者会更容易理解如何建立自己的类型。 第三到第五部分着重讨论如何编写自己的类型。第三部分介绍C++的核心,即对类的支持。类机制提供了编写自定义抽象的基础。类也是第四部分中所讨论的面向对象编程和泛型编程的基础。全书正文的最后是第五部分,我们在这一部分讨论了一些高级特征,它们在构建大型复杂系统时最为常用。 致谢 与前几版一样,我们要感谢Bjarne Stroustrup,他不知疲倦地从事着C++方面的工作,他与我们的深厚友情由来已久。我们还要感谢Alex Stepanov,正是他最初凭借敏锐的洞察力创造了容器和算法的概念,这些概念最终形成了标准库的核心。此外,我们要感谢C++标准委员会的所有成员,他们多年来为C++澄清概念、细化标准和改进功能付出了艰苦的努力。 我们要衷心地感谢本书的审稿人,他们审阅了我们的多份书稿,帮助我们对本书进行了无数大大小小的修改。他们是Paul Abrahams、Michael Ball、Mary Dageforde、Paul DuBois、Matt Greenwood、Matthew P. Johnson、Andrew Koenig、Nevin Liber、Bill Locke、Robert Murray、Phil Romanik、Justin Shaw、Victor Shtern、Clovis Tondo、Daveed Vandevoorde和Steve Vinoski。 书中所有示例都已通过GNU和微软编译器的编译。感谢他们的开发者和所有开发其他C++编译器的人,是他们使C++变成现实。 最后,感谢Addison-Wesley的工作人员,他们引领了这一版的整个出版过程:Debbie Lafferty——我们最初的编辑,是他提出出版本书的新版,他从本书最初版本起就一直致力于本书;Peter Gordon——我们的新编辑,他坚持更新和精简本书内容,极大地改进了这一版本;Kim Boedigheimer——他保证了我们所有人能按进度工作;还有Tyrrell Albaugh、Jim Markham、Elizabeth Ryan和John Fuller,他们和我们一起经历了整个设计和制作过程。...








点击看大图








加载中...

