书名:Essential C++ 中文版
作者:[美]StanleyB·Lippman
译者:侯捷
ISBN:9787121209345
出版社:电子工业出版社
出版时间:2013-8-1
格式:epub/mobi/azw3/pdf
页数:281
豆瓣评分: 8.8
书籍简介:
本书以四个面向来表现C++的本质:procedural(面向过程的)、generic(泛型的)、object-based(基于对象的)、objectoriented(面向对象的)。全书围绕一系列逐渐繁复的程序问题,以及用以解决这些问题的语言特性来组织。循此方式,你将不只学到C++的功能和结构,也可学到它们的设计目的和基本原理。 本书适合那些已经开始从事软件设计,又抽不出太多时间学习新技术的程序员阅读。
作者简介:
Stanley B.Lippman
畅销图书《C++ Primer》作者,其职业是提供关于C++和面向对象的训练、咨询、设计和指导。他在成为一名独立咨询顾问之前,曾经是迪士尼动画公司的首席软件设计师。当他在AT&T Bell实验室的时候,领导了Cfront 3.0版本和2.1版本的编译器开发组。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。他还撰写了许多关于C++的文章。目前他已受雇于微软公司,负责Visual C++项目。
侯捷是计算机技术书籍的作家、译者、书评人。著有《深入浅出MFC》《多型与虚拟》《STL源码剖析》、《无责任书评》三卷,译有众多脍炙人口的高阶技术书籍,包括Meyers所著的“Effective C++”系列。侯捷兼任教职于元智大学、同济大学、南京大学。他的个人网址是http://www.jjhou.com(中文繁体)和http://jjhou.csdn.net(中文简体)。
书友短评:
@ 核动力少女小圆 每章的引入太多,重点太少,罗里吧嗦看的人恼火,不建议有编程基础的人读。 @ hierfer 懒得翻大部头,可以先翻翻这个。薄是优点。适合放一本在桌上。 @ 平生不会相思 抱着C++ primer读了一小截觉得太厚了,要做项目来不及,于是来读这本,读出了拔苗助长的感觉,有点概念了不敢说懂,还是得去看primer…… @ Gone-W 粗略读了一遍,没开始撸代码。稍微读一下其他入门级的C++图书再看这本更好。总体来说很棒! @ 阅微草堂 规则背后的原理;交叉引用理解概念和思想的联系;利用语言特性和标准库快速构造健壮的程序;语法特性和函数参数化都是为了减少复制粘贴。重视语言特性而不是整个语言,语言是语言特性的组合。标准库的算法超过100个,高效使用算法需要理解它们的结构而不是单纯记忆每个算法的细节。 @ 拱卒 下次要用吹泡泡时,还会来看它。虚函数还没学呢好好看,面向真实让我想要解决的问题提出解决方法,而不是罗列方法和限制。也让我很想实践它。要找个电子版存起来,遇到问题直接查用什么特性,然后用特性名再去看细节就好了。1217重拾,计划一周快速过,毕竟以后还能翻查的 @ Plunck 鸡肋,鸡肋!浅处确实易懂,但稍微深入一点的内容就开始左支右绌,尴尬,能看懂的人不需要这种quick guide,看不懂的人自然没法入门。决定还是要啃厚书 @ 行在途中 为了面试突击cpp而看的一本书,整体来说挺好的,适合在看完21天cpp后来看。从头敲到尾能对cpp的不少基本特性有更深的了解。书里面的template和virtual部分讲的挺好,指针讲的不多。值得一读 @ 豆友3mIqO1R9tE 我最开始学习C++时读的这本书,当时是想通过这本书快速入门,但是对初学者来说这本书的难度实在是有些大。后来读了C++ primer,感觉还是后者更适合初学者。 @ living中! 前面还行,后面翻译的什么玩意,看不下去了建议有基础的人看看,实在看不下去还是丢了吧3分,给候捷老师加一分
满汉全席之外(译序/侯捷) ……………………………………………………………………………. v
前言Preface ……………………………………………………………………………………………………. xi
结构与组织 ………………………………………………………………………………………………… xiii
关于源代码 ………………………………………………………………………………………………… xiii
致谢 ………………………………………………………………………………………………………….. xiv
更多读物 ……………………………………………………………………………………………………. xiv
排版约定 …………………………………………………………………………………………………….. xv
第1 章 C++编程基础 Basic C++ Programming ………………………………………………….. 1
1.1 如何撰写C++程序 ……………………………………………………………………………….. 1
1.2 对象的定义与初始化 …………………………………………………………………………….. 7
1.3 撰写表达式 …………………………………………………………………………………………. 10
1.4 条件语句和循环语句 …………………………………………………………………………… 15
1.5 如何运用Array 和Vector …………………………………………………………………….. 22
1.6 指针带来弹性 ……………………………………………………………………………………… 26
1.7 文件的读写 …………………………………………………………………………………………. 30
第2 章 面向过程的编程风格 Procedural Programming …………………………………. 35
2.1 如何编写函数 ……………………………………………………………………………………… 35
2.2 调用函数 …………………………………………………………………………………………….. 41
2.3 提供默认参数值 ………………………………………………………………………………….. 50
2.4 使用局部静态对象 ………………………………………………………………………………. 53
2.5 声明inline 函数 …………………………………………………………………………………… 55
2.6 提供重载函数 ……………………………………………………………………………………… 56
2.7 定义并使用模板函数 …………………………………………………………………………… 58
2.8 函数指针带来更大的弹性 ……………………………………………………………………. 60
2.9 设定头文件 …………………………………………………………………………………………. 63
第3 章 泛型编程风格 Generic Programming ……………………………………………….. 67
3.1 指针的算术运算 ………………………………………………………………………………….. 68
3.2 了解Iterator(泛型指针) …………………………………………………………………… 73
3.3 所有容器的共通操作 …………………………………………………………………………… 76
3.4 使用顺序性容器 ………………………………………………………………………………….. 77
3.5 使用泛型算法 ……………………………………………………………………………………… 81
3.6 如何设计一个泛型算法 ……………………………………………………………………….. 83
3.7 使用Map ……………………………………………………………………………………………. 90
3.8 使用Set ………………………………………………………………………………………………. 91
3.9 如何使用Iterator Inserter ……………………………………………………………………… 93
3.10 使用iostream Iterator …………………………………………………………………………… 95
第4 章 基于对象的编程风格 Object-Based Programming ……………………………….. 99
4.1 如何实现一个Class …………………………………………………………………………… 100
4.2 什么是构造函数和析构函数 ………………………………………………………………. 104
4.3 何谓mutable(可变)和const(不变) ………………………………………….. 109
4.4 什么是this 指针 ………………………………………………………………………………. 113
4.5 静态类成员 ……………………………………………………………………………………….. 115
4.6 打造一个Iterator Class ………………………………………………………………………. 118
4.7 合作关系必须建立在友谊的基础上 ……………………………………………………. 123
4.8 实现一个copy assignment operator ……………………………………………………… 125
4.9 实现一个function object …………………………………………………………………….. 126
4.10 重载iostream 运算符 …………………………………………………………………………. 128
4.11 指针,指向Class Member Function …………………………………………………….. 130
第5 章 面向对象编程风格 Object-Oriented Programming ………………………………. 135
5.1 面向对象编程概念 …………………………………………………………………………….. 135
5.2 漫游:面向对象编程思维 ………………………………………………………………….. 138
5.3 不带继承的多态 ………………………………………………………………………………… 142
5.4 定义一个抽象基类 …………………………………………………………………………….. 145
5.5 定义一个派生类 ………………………………………………………………………………… 148
5.6 运用继承体系 ……………………………………………………………………………………. 155
5.7 基类应该多么抽象 …………………………………………………………………………….. 157
5.8 初始化、析构、复制 …………………………………………………………………………. 158
5.9 在派生类中定义一个虚函数 ………………………………………………………………. 160
5.10 运行时的类型鉴定机制 ……………………………………………………………………… 164
第6 章 以template 进行编程 Programming with Templates ……………………………… 167
6.1 被参数化的类型 ………………………………………………………………………………… 169
6.2 Class Template 的定义 ……………………………………………………………………….. 171
6.3 Template 类型参数的处理 ………………………………………………………………….. 172
6.4 实现一个Class Template ……………………………………………………………………. 174
6.5 一个以Function Template 完成的Output 运算符 …………………………………. 180
6.6 常量表达式与默认参数值 ………………………………………………………………….. 181
6.7 以Template 参数作为一种设计策略 …………………………………………………… 185
6.8 Member Template Function …………………………………………………………………. 187
第7 章 异常处理 Exception Handling ………………………………………………………… 191
7.1 抛出异常 …………………………………………………………………………………………… 191
7.2 捕获异常 …………………………………………………………………………………………… 193
7.3 提炼异常 …………………………………………………………………………………………… 194
7.4 局部资源管理 ……………………………………………………………………………………. 198
7.5 标准异常 …………………………………………………………………………………………… 200
附录A 习题解答 Exercises Solutions …………………………………………………………………. 205
附录B 泛型算法参考手册 Generic Algorithms Handbook ……………………………. 255
附录C 中英术语对照 侯捷 …………………………………………………………………………. 271
英文术语的采用原则 …………………………………………………………………………………. 271
中英术语对照(按字母顺序排列) ……………………………………………………………. 272
索引 Index ………………………………………………………………………………………………….. 277
· · · · · ·
博文视点·传世经典书丛(共15册),这套丛书还有《编程匠艺》《深度探索C++对象模型》《More Exceptional C++(中文版)》《梦断代码》《Effective C++》等。
添加微信公众号:好书天下获取
评论前必须登录!
注册