主题:[原创]C++之父名著——C++程序设计原理与实践.PDF
不断进步
[专家分:0] 发布于 2010-08-06 17:12:00
《C++程序设计原理与实践》豆瓣讨论地址:http://book.douban.com/subject/4875599/
这本书是C++之父Bjarne Stroustrup的最新著作,初级、中级和高级C++程序员都可以从中受益。
由于这里对上传附件的大小有严格限制,所以我先把目录放在这里,如果感兴趣的朋友可以直接发邮件到1528233693 # qq.com免费索取。
看完后,希望觉得还不错的朋友积极跟帖,让更多弟兄有机会看到这本书。
[fly]发邮件到1528233693 # qq.com免费索取迷你书电子文件[/fly]
回复列表 (共33个回复)
沙发
不断进步 [专家分:0] 发布于 2010-08-06 17:18:00
《C++程序设计原理与实践》目录
第0章致读者
0.1本书结构
0.1.1一般方法
0.1.2简单练习、 习题等
0.1.3进阶学习
0.2讲授和学习本书的方法
0.2.1本书内容顺序的安排
0.2.2程序设计和程序设计语言
0.2.3可移植性
0.3程序设计和计算机科学
0.4创造性和问题求解
0.5反馈方法
0.6参考文献
0.7作者简介
第1章计算机、 人与程序设计
1.1介绍
1.2软件
1.3人
1.4计算机科学
1.5计算机已无处不在
1.5.1有屏幕和没有屏幕
1.5.2船舶
1.5.3电信
1.5.4医疗
1.5.5信息领域
1.5.6一种垂直的视角
1.5.7与C++程序设计有何联系
1.6程序员的理想
第一部分基 本 知 识
第2章Hello, World!
2.1程序
2.2经典的第一个程序
2.3编译
2.4链接
2.5编程环境
第3章对象、 类型和值
3.1输入
3.2变量
3.3输入和类型
3.4运算和运算符
3.5赋值和初始化
3.5.1实例: 删除重复单词
3.6组合赋值运算符
3.6.1实例: 重复单词统计
3.7命名
3.8类型和对象
3.9类型安全
3.9.1安全类型转换
3.9.2不安全类型转换
第4章计算
4.1计算
4.2目标和工具
4.3表达式
4.3.1常量表达式
4.3.2运算符
4.3.3类型转换
4.4语句
4.4.1选择语句
4.4.2循环语句
4.5函数
4.5.1使用函数的原因
4.5.2函数声明
4.6向量
4.6.1向量空间增长
4.6.2一个数值计算的例子
4.6.3一个文本处理的例子
4.7语言特性
第5章错误
5.1介绍
5.2错误的来源
5.3编译时错误
5.3.1语法错误
5.3.2类型错误
5.3.3警告
5.4连接时错误
5.5运行时错误
5.5.1调用者处理错误
5.5.2被调用者处理错误
5.5.3报告错误
5.6异常
5.6.1错误参数
5.6.2范围错误
5.6.3输入错误
5.6.4截断错误
5.7逻辑错误
5.8估计
5.9调试
5.9.1实用调试技术
5.10前置条件和后置条件
5.10.1后置条件
5.11测试
第6章编写一个程序
6.1一个问题
6.2对问题的思考
6.2.1程序设计的几个阶段
6.2.2策略
6.3回到计算器问题
6.3.1第一步尝试
6.3.2单词
6.3.3实现单词
6.3.4使用单词
6.3.5重新开始
6.4文法
6.4.1英文文法
6.4.2设计一个文法
6.5将文法转换为程序
6.5.1实现文法规则
6.5.2表达式
6.5.3项
6.5.4基本表达式
6.6试验第一个版本
6.7试验第二个版本
6.8单词流
6.8.1实现Token_stream
6.8.2读单词
6.8.3读数值
6.9程序结构
第7章完成一个程序
7.1介绍
7.2输入和输出
7.3错误处理
7.4处理负数
7.5模运算: %
7.6清理代码
7.6.1符号常量
7.6.2使用函数
7.6.3代码格式
7.6.4注释
7.7错误恢复
7.8变量
7.8.1变量和定义
7.8.2引入单词name
7.8.3预定义名字
7.8.4我们到达目的地了吗
第8章函数相关的技术细节
8.1技术细节
8.2声明和定义
8.2.1声明的类别
8.2.2变量和常量声明
8.2.3默认初始化
8.3头文件
8.4作用域
8.5函数调用和返回
8.5.1声明参数和返回类型
8.5.2返回一个值
8.5.3传值参数
8.5.4传常量引用参数
8.5.5传引用参数
8.5.6传值与传引用的对比
8.5.7参数检查和转换
8.5.8实现函数调用
8.6求值顺序
8.6.1表达式求值
8.6.2全局初始化
8.7名字空间
8.7.1using声明和using指令
第9章类相关的技术细节
9.1用户自定义类型
9.2类和成员
9.3接口和实现
9.4演化一个类
9.4.1结构和函数
9.4.2成员函数和构造函数
9.4.3保持细节私有性
9.4.4定义成员函数
9.4.5引用当前对象
9.4.6报告错误
9.5枚举类型
9.6运算符重载
9.7类接口
9.7.1参数类型
9.7.2拷贝
9.7.3默认构造函数
9.7.4const成员函数
9.7.5类成员和“辅助函数”
9.8Date类
第二部分输入和输出
第10章输入/输出流
10.1输入和输出
10.2I/O流模型
10.3文件
10.4打开文件
10.5读写文件
10.6I/O错误处理
10.7读取单个值
10.7.1将程序分解为易管理的
子模块
10.7.2将人机对话从函数中分离
10.8用户自定义输出操作符
10.9用户自定义输入操作符
10.10一个标准的输入循环
10.11读取结构化的文件
10.11.1内存表示
10.11.2读取结构化的值
10.11.3改变表示方法
第11章定制输入/输出
11.1有规律的和无规律的输入和输出
11.2格式化输出
11.2.1输出整数
11.2.2输入整数
11.2.3输出浮点数
11.2.4精度
11.2.5域
11.3文件打开和定位
11.3.1文件打开模式
11.3.2二进制文件
11.3.3在文件中定位
11.4字符串流
11.5面向行的输入
11.6字符分类
11.7使用非标准分隔符
11.8还有很多未讨论的内容
第12章一个显示模型
12.1为什么要使用图形用户界面
12.2一个显示模型
12.3第一个例子
12.4使用GUI库
12.5坐标系
12.6形状
12.7使用形状类
12.7.1图形头文件和主函数
12.7.2一个几乎空白的窗口
12.7.3坐标轴
12.7.4绘制函数图
12.7.5Polygon
12.7.6Rectangle
12.7.7填充
12.7.8文本
12.7.9图片
12.7.10还有很多未讨论的内容
12.8让图形程序运行起来
12.8.1源文件
第13章图形类
13.1图形类概览
13.2Point和Line
13.3Lines
13.4Color
13.5Line_style
13.6Open_polyline
13.7Closed_polyline
13.8Polygon
13.9Rectangle
13.10管理未命名对象
13.11Text
13.12Circle
13.13Ellipse
13.14Marked_polyline
13.15Marks
13.16Mark
13.17Image
第14章设计图形类
14.1设计原则
14.1.1类型
14.1.2操作
14.1.3命名
14.1.4可变性
14.2Shape类
14.2.1一个抽象类
14.2.2访问控制
14.2.3绘制形状
14.2.4拷贝和可变性
14.3基类和派生类
14.3.1对象布局
14.3.2类的派生和虚函数定义
14.3.3覆盖
14.3.4访问
14.3.5纯虚函数
14.4面向对象程序设计的好处
第15章绘制函数图和数据图
15.1介绍
15.2绘制简单函数图
15.3Function类
15.3.1默认参数
15.3.2更多的例子
15.4Axis类
15.5近似
15.6绘制数据图
15.6.1读取文件
15.6.2一般布局
15.6.3数据比例
15.6.4构造数据图
第16章图形用户界面
16.1用户界面的选择
16.2“Next”按钮
16.3一个简单的窗口
16.3.1回调函数
16.3.2等待循环
16.4Button和其他Widget
16.4.1Widget
16.4.2Button
16.4.3In_box和Out_box
16.4.4Menu
16.5一个实例
16.6控制流的反转
16.7添加菜单
16.8调试GUI代码
第三部分数据结构和算法
第17章向量和自由空间
17.1介绍
17.2向量的基本知识
17.3内存、 地址和指针
17.3.1运算符sizeof
17.4自由空间和指针
17.4.1自由空间分配
17.4.2通过指针访问数据
17.4.3指针范围
17.4.4初始化
17.4.5空指针
17.4.6自由空间释放
17.5析构函数
17.5.1生成的析构函数
17.5.2析构函数和自由空间
17.6访问向量元素
17.7指向类对象的指针
17.8类型混用: 无类型指针和指针
类型转换
17.9指针和引用
17.9.1指针参数和引用参数
17.9.2指针、 引用和继承
17.9.3实例: 列表
17.9.4列表的操作
17.9.5列表的使用
17.10this指针
17.10.1关于Link使用的更多讨论
第18章向量和数组
18.1介绍
18.2拷贝
18.2.1拷贝构造函数
18.2.2拷贝赋值
18.2.3拷贝术语
18.3必要的操作
18.3.1显示构造函数
18.3.2调试构造函数与析构函数
18.4访问向量元素
18.4.1对const对象重载运算符
18.5数组
18.5.1指向数组元素的指针
18.5.2指针和数组
18.5.3数组初始化
18.5.4指针问题
18.6实例: 回文
18.6.1使用string实现回文
18.6.2使用数组实现回文
18.6.3使用指针实现回文
第19章向量、 模板和异常
19.1问题
19.2改变向量大小
19.2.1方法描述
19.2.2reserve和capacity
19.2.3resize
19.2.4push_back
19.2.5赋值
19.2.6到现在为止我们设计的
vector类
19.3模板
19.3.1类型作为模板参数
19.3.2泛型编程
19.3.3容器和继承
19.3.4整数作为模板参数
19.3.5模板参数推导
19.3.6一般化vector类
19.4范围检查和异常
19.4.1附加讨论: 设计上的考虑
19.4.2使用宏
19.5资源和异常
19.5.1潜在的资源管理问题
19.5.2资源获取即初始化
19.5.3保证
19.5.4auto_ptr
19.5.5vector类的RAII
第20章容器和迭代器
20.1存储和处理数据
20.1.1处理数据
20.1.2一般化代码
20.2STL建议
20.3序列和迭代器
20.3.1回到实例
20.4链表
20.4.1列表操作
20.4.2迭代
20.5再次一般化vector
20.6实例: 一个简单的文本编辑器
20.6.1处理行
20.6.2迭代
20.7vector、 list和 string
20.7.1insert 和 erase
20.8调整vector类达到STL版本
的功能
20.9调整内置数组达到STL版本
的功能
20.10容器概览
20.10.1迭代器类别
第21章算法和映射
21.1标准库中的算法
21.2最简单的算法: find()
21.2.1一些一般的应用
21.3通用搜索算法: find_if()
21.4函数对象
21.4.1函数对象的抽象视图
21.4.2类成员上的谓词
21.5数值算法
21.5.1累积
21.5.2一般化accumulate()
21.5.3内积
21.5.4一般化inner_product()
21.6关联容器
21.6.1映射
21.6.2map概览
21.6.3另一个map实例
21.6.4unordered_map
21.6.5集合
21.7拷贝操作
21.7.1拷贝
21.7.2流迭代器
21.7.3使用集合保持顺序
21.7.4copy_if
21.8排序和搜索
第四部分拓 宽 视 野
第22章理念和历史
22.1历史、理念和专业水平
22.1.1程序设计语言的目标和哲学
22.1.2编程理念
22.1.3风格/范型
22.2程序设计语言历史概览
22.2.1最早的程序语言
22.2.2现代程序设计语言的起源
22.2.3Algol家族
22.2.4Simula
22.2.5C
22.2.6C++
22.2.7今天的程序设计语言
22.2.8参考资源
第23章文本处理
23.1文本
23.2字符串
23.3I/O流
23.4映射
23.4.1实现细节
23.5一个问题
23.6正则表达式的思想
23.7用正则表达式进行搜索
23.8正则表达式语法
23.8.1字符和特殊字符
23.8.2字符集
23.8.3重复
23.8.4子模式
23.8.5可选项
23.8.6字符集和范围
23.8.7正则表达式错误
23.9与正则表达式进行模式匹配
23.10参考文献
第24章数值计算
24.1介绍
24.2大小、 精度和溢出
24.2.1数值限制
24.3数组
24.4C 风格的多维数组
24.5Matrix库
24.5.1矩阵的维和矩阵访问
24.5.2一维矩阵
24.5.3二维矩阵
24.5.4矩阵I/O
24.5.5三维矩阵
24.6实例: 求解线性方程组
24.6.1经典的高斯消去法
24.6.2选取主元
24.6.3测试
24.7随机数
24.8标准数学函数
24.9复数
24.10参考文献
第25章嵌入式系统程序设计
25.1嵌入式系统
25.2基本概念
25.2.1可预测性
25.2.2理想
25.2.3生活在故障中
25.3内存管理
25.3.1动态内存分配存在的问题
25.3.2动态内存分配的替代方法
25.3.3存储池实例
25.3.4栈实例
25.4地址、 指针和数组
25.4.1未经检查的类型转换
25.4.2一个问题: 不正常的接口
25.4.3解决方案: 接口类
25.4.4继承和容器
25.5位、 字节和字
25.5.1位和位运算
25.5.2bitset
25.5.3有符号数和无符号数
25.5.4位运算
25.5.5位域
25.5.6实例: 简单加密
25.6编码规范
25.6.1编码规范应该是怎样的
25.6.2编码原则实例
25.6.3实际编码规范
第26章测试
26.1我们想要什么
26.1.1说明
26.2程序正确性证明
26.3测试
26.3.1回归测试
26.3.2单元测试
26.3.3算法和非算法
26.3.4系统测试
26.3.5测试类
26.3.6寻找不成立的假设
26.4测试方案设计
26.5调试
26.6性能
26.6.1计时
26.7参考文献
第27章C语言
27.1C和C++: 兄弟
27.1.1C/C++兼容性
27.1.2C不支持的C++特性
27.1.3C标准库
27.2函数
27.2.1不支持函数名重载
27.2.2函数参数类型检查
27.2.3函数定义
27.2.4C++调用C和C调用C++
27.2.5函数指针
27.3小的语言差异
27.3.1结构标签名字空间
27.3.2关键字
27.3.3定义
27.3.4C风格类型转换
27.3.5void*的转换
27.3.6枚举
27.3.7名字空间
27.4动态内存分配
27.5C风格字符串
27.5.1C风格字符串和const
27.5.2字节操作
27.5.3实例: strcpy()
27.5.4一个风格问题
27.6输入/输出: stdio
27.6.1输出
27.6.2输入
27.6.3文件
27.7常量和宏
27.8宏
27.8.1类函数宏
27.8.2语法宏
27.8.3条件编译
27.9实例: 侵入式容器
术语表
参考书目
第五部分附录
附录AC++语言概要
附录B标准库概要
附录CVisual Studio简要入门教程
附录D安装FLTK
附录EGUI实现
板凳
eastcowboy [专家分:25370] 发布于 2010-08-07 03:39:00
好。虽然这本书我还没有读,但既然是Bjarne的作品,想必含金量还是很高的。大部头著作,需要花费不少时间了,呵呵。
3 楼
强强 [专家分:4740] 发布于 2010-08-08 00:39:00
我找的怎么都是MINI版或试读版的,哪有完整版的请告诉一下,不胜感谢!
4 楼
lmingfw [专家分:0] 发布于 2010-08-26 11:58:00
好书啊
5 楼
eastcowboy [专家分:25370] 发布于 2010-09-02 16:07:00
再顶,广告太多,帖子沉得太快。
6 楼
axuefei001 [专家分:0] 发布于 2010-09-05 15:50:00
好书!赶紧去看下!
8 楼
zjpopo [专家分:0] 发布于 2010-09-16 13:38:00
这可是上等好料子啊,加精出高价了
9 楼
不断进步 [专家分:0] 发布于 2010-09-27 16:40:00
现在互动网这本书正在搞买一赠一的活动,很不错,值得参与
http://www.china-pub.com/static/zt_mb/zt_huodong_0808.asp?filename=jsj_hzmyzy_100902
10 楼
alangcs [专家分:0] 发布于 2010-09-28 20:03:00
顶 谢谢 分享
我来回复