词条 | C++ Primer |
释义 | 本书是久负盛名的C++经典教程引,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。 内容简介本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E.Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。 对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。 作者简介Stanley B.Lippman的职业是提供关于C++和面向对象的训练、咨询、设计和指导。他在成为一名独立咨询顾问之前,曾经是迪士尼动画公司的首席软件设计师。当他在AT&T Bell实验室的时候,领导了cfront 3.0版本和2.1版本的编译器开发组。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。他还撰写了许多关于C++的文章。目前他已受雇于微软公司,负责Visual C++项目。遍及全球,深受广大C++学者的喜欢。 Barbara E.Moo 是独立咨询顾问,在软件领域中拥有超过20年的工作经验的独立咨询顾问。在AT&Tm作的近15年中,她参与了第一个使用C++编写的商业产品的开发,领导了公司中第一个C++编译器项目,管理了AT&T中广受赞誉的World Net Internet Service Business的开发。 目录第1章 快速入门 1.1 编写简单的C++程序 1.2 初窥输入/输出 1.3 关于注释 1.4 控制结构 入 1.5 类的简介 1.6 C++程序 小结 术语 第一部分 基本语言 第2章 变量和基本类型 2.1 基本内置类型 2.2 字面值常量 2.3 变量 2.4 const限定符 2.5 引用 2.6 typedef名字 2.7 枚举 2.8 类类型 2.9 编写自己的头文件 小结 术语 第3章 标准库类型 3.1 命名空间的using声明 3.2 标准库string类型 3.3 标准库vector类型 3.4 迭代器简介 3.5 标准库bitset类型 小结 术语 第4章 数组和指针 4.1 数组 4.2 指针的引入 4.3 C风格字符串 4.4 多维数组 小结 术语 第5章 表达式 5.1 算术操作符 5.2 关系操作符和逻辑操作符 5.3 位操作符 5.4 赋值操作符 5.5 自增和自减操作符 5.6 箭头操作符 5.7 条件操作符 5.8 sizeof操作符 5.9 逗号操作符 5.10 复合表达式的求值 5.11 new和delete表达式 5.12 类型转换 小结 术语 第6章 语句 6.1 简单语句 6.2 声明语句 6.3 复合语句(块) 6.4 语句作用域 6.5 if语句 6.6 switch语句 6.7 while语句 6.8 for循环语句 6.9 do while语句 6.10 break语句 6.11 continue语句 6.12 goto语句 6.13 try块和异常处理 6.14 使用预处理器进行调试 小结 术语 第7章 函数 7.1 函数的定义 7.2 参数传递 7.3 return语句 7.4 函数声明 7.5 局部对象 7.6 内联函数 7.7 类的成员函数 7.8 重载函数 7.9 指向函数的指针 小结 术语 第8章 标准IO库 8.1 面向对象的标准库 8.2 条件状态 8.3 输出缓冲区的管理 8.4 文件的输入和输出 8.5 字符串流 小结 术语 第二部分 容器和算法 第9章 顺序容器 第10章 关联容器 第11章 泛型算法 第三部分 类和数据抽象 第12章 类 第13章 复制控制 第14章 重载操作符与转换 第四部分 面向对象编程与泛型编程 第15章 面向对象编程 第16章 模板与泛型编程 第五部分 高级主题 第17章 用于大型程序的工具 第18章 特殊工具与技术 附录 标准库 索引 编辑推荐作为目前业界广泛使用的编程语言,C++可谓包罗万象、博大精深。20年来,讲述C++的图书早已经汗牛充栋、层出不穷,但其中业界公认的完整涵盖C++标准的权威著作只有两部,其中一部就是本书!它是业界内久负盛名、无可替代的C++经典著作,它的原版销量超过450000册,它教授最新的编程理念与实践,它是所有C++程序员不可或缺的参考书! 对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。第4版不再强调低层编程技术,而把中心转向标准库的使用。书中很早就开始介绍标准库,示例也已经重新改写,充分利用了标准库设施。我们也对语言主题叙述的先后次序进行了重新编排,使讲解更加流畅。 本书书评(1)优点:作为最经典的一本C++入门书籍,其最大的优点就是内容全面,遵循标准,讲解细致。C++语言的所有基础知识在这里都可以一览无余。在作者极其细腻的笔法下,C++这头猛虎变得不再可怕。书中不仅教你C++语法,也教你怎么写程序(当然只是初级的层次)。很早就引入C++标准库是书中的一大特色,也许刚开始作为初学者会觉得有点失措(注意知识本身并不难,因为流和容器的概念本身并不难理解),但作者这样安排无非是向你传达这样一种观点,即学习语言是为用它来写程序,而不是成为语言专家。这是我们学习任何计算机语言最基本的原则(当然搞计算机语言研究的学者除外)。有人说这更像一本C++编译器参考手册,这我不敢苟同。众所周知,C++是一门难学易用的语言(候捷语)。难学是因为C++语法本身很复杂,功能很强大,支持的编程范式也很多,每种语法糖又有很多特例和不推荐使用的设计风格,因此对语法的介绍必须细腻全面,只是要注意介绍语法糖时要以写程序为目的,而不是为了语法而语法。作者时刻让你知道,每种C++语法都有何用处,应该怎么用。而易用则是因为C++标准库(特别是STL)设计得非常优雅,抽象程度非常高,非常好用,用起来简直就是赏心悦目。三个核心概念容器、迭代器、算法对于一个有计算机学科基础(如数据结构和C语言基础)的人来说并不难理解。另一方面,即使标准库中没有你要的东西,只要你的C++基础扎实,凭借它强大的表达能力(可以肯定地说,C++是所有语言中表达能力最强的),要设计出抽象程度高的库来并不难。 (2)缺点:笔法细腻经常会带来另一个后果,那就是语言啰嗦。我在阅读时经常感叹,为什么很简单的一个概念要说得这么哆嗦呢(与中文翻译无关,我看了英文原版就是这样),有时还要重复几遍。整本书阅读起来还是比较累的,很多东西我感觉用一句很简单的话就能解释清楚,然而在作者的笔下说得却很烦。可能是作者为了照顾初学者,但照顾初学者也不应该失去语言的简洁性,书中很多简单的东西写复杂了。整本书的语言中规中矩,不够生动,相比Scott Meyers的effective C++的语言风格,那就差远。技术书籍读起来本来就比较枯燥,所以我觉得语言风格也蛮重要的。另外,作者是用一个例子来串起整本书的,但这个例子我感觉又不够完整,并没有让读者形成一个清晰的软件设计图景。其实我不太推崇用一个例子串起整本书的写作风格, 这样章节之间关联性会很强,而且一个例子一般不能解释整本书的所有问题。 相反,多个例子则能让读者丰富知识面,也能够把概念或问题解释得更清楚。 (3)学习建议:最好在两个月内读完,我是一个月内读完的。那本习题解答的书籍不能少,书中的每一个习题都不要放过。虽然不一定要求每个题目都要自己做,但至少也要在习题解答书上看看人家怎么实现的。写不出代码来就多看看人家的代码,并模仿、动手、思考,这样往复循环,提高就会很快。一定要树立这样的观念,写程序是学习语言类书籍的核心,实际上对Computer Science来说动手与动脑同等重要。书中的附录也不要放过,这么经典的书籍(而且经过了几个版本的垂练)最好每一页都不要放过。一旦你仔细地把整本书都啃完,你就会有拨云见日的感觉,哦,原来C++就是这样的,你也会发现自己的功力大增。 (4)需要的基础:很多人说这本书不适合C++初学者,我不同意这种观点。人家国外的程序员都用它入门,我们为什么就不能呢?很多人可能是受谭浩强的书籍的影响,认为那样的书最适合入门,这没错。事实上这本书也完全拥有谭浩强的书籍的特点,而且它还全面,既可以做C++入门书籍,也是资深的C++程序员不可或缺的参考书。中国人学习总让人感觉喂饭似的,需要别人一口一口地喂给你吃,而且还不能太多,生怕咽着;又不能太少,少了又抱怨,这不能不说是一种悲哀。学习本来就是一个探索的过程,没有探索哪来的乐趣。 我觉得只要你有程序设计的基本概念和算法的基本思想(如C语言和数据结构的基础),就完全可以学习这本书,当然如果你有面向对象的基础,或者有面向对象语言的经验(如Java或C#),那看这本书就非常轻松了。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。