C++Primer第四版中文版(电子版)
一本C++ Primer中文版,给正在学习的C++的朋友参考。虽然读者不需要事先学过C语言(C++最初的基础)的知识,但我们假定读者已经掌握了一种现代结构化语言。本书结构本介绍了C++国际标准,既涵盖语言的特征,又讲述了也是标准组成部分的丰富标准库。C艹的强大很大程度上米自它攴持抽象程序设计。要学会用C+高效地编程,只是掌握句法和语义是远远不够的。我们的重点在于,教会读者怎样利用C艹的特性,快速地写岀安全的而且性能可与C语言低层程序相媲美的程序C++是一种大型的编程语言,这可能会吓倒一些新于。现代C++可以看成由以下三部分组成低级语言,多半继承自C更高级的语言特征,用户可以借此定义自己的数据类型,组织大规模的程序和系统。标准库,使用上述高级特征提供一整套有用的薮据结构和算法。多数C++教材按照下的顺序展开:先讲低级细节,再介绍更高级的语言特征;在讲完整个语言后才开始解释标准库。结果往往使读者纠缠于低级的程序设计问题和复杂类犁定义的编写等细节,而不能真忙领会抽象编程的强大,更不用说学到足够的知识去创建自己的抽象了。本版中我们独辟蹊径。一开始就讲述语言的基础知识和标准库,这样读者就可以写出比较大的有实际意义的程序来。透彻阐释了使用标准库(并且用标准库编写了各种抽象程序)的基础知识之后,我们才进入下一步,学习用C+的其他高级特征来编写自己的抽象第一和第二部分讨论语言的基础知识和标准库设施。其重点在于学会如何编写C+程序,如何使用标准库提供的抽象设施。人部分C+←程序员需要了解本书这两部分的内容。除了讲解基础知识以外,这两部分还有另外一个重要的意图。杯准库设施本身是用C艹←编写的扣象数据类型,定义标准库使用的是任何C+←程序员都能使用的构造类的语言特征。我们教授C++的经验说明,一开始就使用设计良好的抽象类型,读者会更容易理解如何建立自已的类型。第三到第五部分着重讨论如何编写自己的类型。第三部分介绍C++的核心,即对类的支持。类机制提供了编写自定义抽象的基础。类也是第四部分中讨论的向对象编程和泛型编程的基础。全书正文的最后是第五部分,这一部分讨论了一些高级特征,它们在构建大型复杂系统时最为常用致谢与前几版新,我们要感谢 Bjarne Stroustrup,他不知疲倦地从事着C+←方面的工作,他与我们的深厚友情由来已久。我们还要感谢 Alex stepanov,正是他最初凭借敏锐的泂察力创造了睿器和算法的概念,这些概念最终形成了标准库的核心。此外,我们要感谢C++标准委员会的所成员,他们多年来为C++澄清概念、细化标准和改进功能付出了艰苦的努力。我们要衷心地感谢本审稿人,他们审阅了我们的多份书稿,帮助我们对本书进行了无数大大小小的修改。他们是 Paul abrahams, Michael ball,MaryDageforde, Paul duBois, Matt Greenwood, Mat thew P. Johnson, Andrew KoenigNevin Liber, Bill Locke, Robert Murray, Phil romanik, Justin Shaw, VictorShtern, Clovis Tondo, Daveed Vandevoorde TH Steve Vinoski书中所有示例都已通过GNU和微软编译器的编译。感谢他们的开发者和所有丌发其他C艹←编译器的人,是他们使C++变成现实。最后,感谢的工作人员,他们引领了这一版的整个出版过程:——我们最初的编辑,是他提出出版本书的新版,他从本书最初版本起就一直致力于本书我们的新编辑,他坚持更新和精简木书内容,极大地改进了这一版木他保证了我们所有人能按进度工作;还有、、和,他们和我们一起经历了整个设计和制作过程。目录前言第匹版的改动本书结构致谢第一章快速入门编写简单的程序调用或微软编译器初窥输入翰出关键概念:已初始化变量和木初始化变量关于注释Exercises Section 1.3控制结构关键概念:程序的缩排和格式再谈编译从键盘输入文件结束符类的简介关键概念:类定义行为程序小结术语第一部分基本语言第二章变量和基本类型基本内置类型内置类型的机器级表示建议:使用内置算术类型字面值常量建议:不要依赖未定义行为变量关键概念:强静态类型术语:什么是对象?警告:未初始化的变量引起运行问题很定符引用术语: cons t引用是指向 const的引用名字枚举类类型编写自己的头文件编译和链接多个源文件小结术语第三章标准库类型命名空间的声明标准库类型警告:标准库 string类型和字符串字面值建议:采用标准厍头文件的版本标准斥类型关键概念: vector对象动态增长关键概念:安全的泛型编程警告:仅能对确知已存在的元素进行下标操作迭代器简介术语:迭代器和迭代器类型标准斥小结术语第四章数组和指针数组警告:数组的长度是固定的指针的引入建议:尽量避兔使用指针和数组关键概念:给指针赋值或通过指针进行赋值建议:理解复杂的 const类型的声明风格字符串风格字符串与的标准库类型 string的比较多维数组小结术语第五章衣达式算术操作符警告:溢出和其他算术异常关系架作符和逻辑操作符位操作符赋值操作符自增和自减操作符建议:只有在必要时才使用后置操作符建议:简洁即是美箭头操作符条件操作符操作符逗号操作符复合表达式的求值建议:复合表达式的处理和表达式警告:动态内存的管理容易出错类型转换建议:避免使用强制类型转换小结术语第六章语句简单语句声明语句复合语句(块)6.4.语句作用域语句语句语句循环语句语句语句语句语句块和异常处理使用预处理器进行调试小结术语第七章函数函数的定义参数传递语句函数声明局部对象内联函数类的成员函数重载函数建议:何时不重载函数名指向函数的指针小结术语第八章标准库面向对象的标准库条件状态输出缓冲区的管理警告:如果程序崩溃了,则不会刷新缓冲区文件的输入和输出警:中的文件名字符串流小结术语第郭分:容器和算法第九章顺序容器顺序容器的定义迭代器和迭代器范对形成迭代器范围的迭代器的要求每种顺序容器都提供了一组有用的类型定义以及以卜操作:关键概念:容器元素都是副本容器的自增长容器的选用9.6.再谈 string类型Exercises Section 9. 6Exercises section 9.6.49.7.容器适配器Exercises section 9.7.2小结术语第十章关联容器10.1.引言:pair类型Exercises section 10.110.2.关联容器Exercises section 10. 210.3.map类型Exercises section 10.3 1Exercises section 10.3.2Exercises section 10.3. 4Exercises section 10.3, 5Exercises section 10.3.6Exercises section 10.3 910.4.set类型Exercises Section 10.4Exercises section 10. 4. 20.5. multimap和 multiset类型Exercises section 10.5. 2
用户评论