C++程序设计语言
¥
28
2.8折
¥
99
八五品
仅1件
作者[美]斯特朗斯特鲁普 著;裘宗燕 译
出版社机械工业出版社
出版时间2010-03
版次1
装帧平装
货号81-5
上书时间2023-07-05
商品详情
- 品相描述:八五品
图书标准信息
-
作者
[美]斯特朗斯特鲁普 著;裘宗燕 译
-
出版社
机械工业出版社
-
出版时间
2010-03
-
版次
1
-
ISBN
9787111298854
-
定价
99.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
905页
-
正文语种
简体中文
-
原版书名
The C++ Programming Language: Special Edition
-
丛书
计算机科学丛书
- 【内容简介】
-
本书是在C++语言和程序设计领域具有深远影响、畅销不衰的著作,由C++语言的设计者编写,对C++语言进行了全面、专业的论述,覆盖标准C++以及由C++所支持的关键性编程技术和设计技术。本书英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是无可取代的C++经典力作。
在本书英文原版面世10年后的今天,特别奉上十周年中文纪念版,希望众多具有丰富实战经验的C++开发人员能够温故而知新,印证学习心得,了解更加本质的C++知识,让获得的理论应用得更加灵活,也期望新的C++程序员从中认识到这本书的价值所在,从更高的起点出发,书写更加精彩的程序设计人生。
作者简介:BjarneStroustrup,英国剑桥大学计算机科学博士,C++语言的设计者和最初的实现者,也是《C++程序设计原理与实践》和《C++语言的设计和演化》的作者。他现在是德州农工大学计算机科学首席教授,同时不审AT&T贝尔实验室特别成员。1993年,由于在C++领域的重大贡献,他获得了ACM的GraceMurrayHopper大奖并成为ACM院士;2008年,他又获得了Dr.Dobbs杂志的程序设计杰出奖。在进入学术界之前,他在AT&T贝尔实验室工作。他是ISOC++标准委员会的创始人之一。
- 【作者简介】
-
斯特朗斯特鲁普(BjarneStroustrup),英国剑桥大学计算机科学博士,C++语言的设计者和最初的实现者,也是《C++程序设计原理与实践》和《C++语言的设计和演化》的作者。他现在是德州农工大学计算机科学首席教授,同时不审AT&T贝尔实验室特别成员。1993年,由于在C++领域的重大贡献,他获得了ACM的GraceMurrayHopper大奖并成为ACM院士;2008年,他又获得了Dr.Dobbs杂志的程序设计杰出奖。在进入学术界之前,他在AT&T贝尔实验室工作。他是ISOC++标准委员会的创始人之一。
- 【目录】
-
出版者的话
专家指导委员会
中文版序
译者序
序
第2版序
第1版序
导论
第1章致读者
1.1本书的结构
1.1.1例子和参考
1.1.2练习
1.1.3有关实现的注记
1.2学习C++
1.3C++的设计
1.3.1效率和结构
1.3.2哲学注记
1.4历史注记
1.5C++的使用
1.6C和C++
1.6.1给C程序员的建议
1.6.2给C++程序员的建议
1.7有关在C++里编程的思考
1.8忠告
1.9参考文献
第2章C++概览
2.1为什么是C++
2.2程序设计范型
2.3过程式程序设计
2.3.1变量和算术
2.3.2检测和循环
2.3.3指针和数组
2.4模块程序设计
2.4.1分别编译
2.4.2异常处理
2.5数据抽象
2.5.1定义类型的模块
2.5.2用户定义类型
2.5.3具体类型
2.5.4抽象类型
2.5.5虚函数
2.6面向对象的程序设计
2.6.1具体类型的问题
2.6.2类层次结构
2.7通用型程序设计
2.7.1容器
2.7.2通用型算法
2.8附言
2.9忠告
第3章标准库概览
3.1引言
3.2Hello,world!
3.3标准库名字空间
3.4输出
3.5字符串
3.5.1C风格的字符串
3.6输入
3.7容器
3.7.1向量—vector
3.7.2范围检查
3.7.3表—list
3.7.4映射—map
3.7.5标准容器
3.8算法
3.8.1迭代器的使用
3.8.2迭代器类型
3.8.3迭代器和I/O
3.8.4遍历和谓词
3.8.5使用成员函数的算法
3.8.6标准库算法
3.9数学
3.9.1复数
3.9.2向量算术
3.9.3基本数值支持
3.10标准库功能
3.11忠告
第一部分基本功能
第4章类型和声明
4.1类型
4.1.1基本类型
4.2布尔量
4.3字符类型
4.3.1字符文字量
4.4整数类型
4.4.1整数文字量
4.5浮点类型
4.5.1浮点文字量
4.6大小
4.7void
4.8枚举
4.9声明
4.9.1声明的结构
4.9.2声明多个名字
4.9.3名字
4.9.4作用域
4.9.5初始化
4.9.6对象和左值
4.9.7typedef
4.10忠告
4.11练习
第5章指针、数组和结构
5.1指针
5.1.1零
5.2数组
5.2.1数组初始化
5.2.2字符串文字量
5.3到数组的指针
5.3.1在数组里漫游
5.4常量
5.4.1指针和常量
5.5引用
5.6指向void的指针
5.7结构
5.7.1类型等价
5.8忠告
5.9练习
第6章表达式和语句
6.1一个桌面计算器
6.1.1分析器
6.1.2输入函数
6.1.3低级输入
6.1.4错误处理
6.1.5驱动程序
6.1.6头文件
6.1.7命令行参数
6.1.8有关风格的注记
6.2运算符概览
6.2.1结果
6.2.2求值顺序
6.2.3运算符优先级
6.2.4按位逻辑运算符
6.2.5增量和减量
6.2.6自由存储
6.2.7显式类型转换
6.2.8构造函数
6.3语句概览
6.3.1声明作为语句
6.3.2选择语句
6.3.3迭代语句
6.3.4goto
6.4注释和缩进编排
6.5忠告
6.6练习
第7章函数
7.1函数声明
7.1.1函数定义
7.1.2静态变量
7.2参数传递
7.2.1数组参数
7.3返回值
7.4重载函数名
7.4.1重载和返回类型
7.4.2重载与作用域
7.4.3手工的歧义性解析
7.4.4多参数的解析
7.5默认参数
7.6未确定数目的参数
7.7指向函数的指针
7.8宏
7.8.1条件编译
7.9忠告
7.10练习
第8章名字空间和异常
8.1模块化和界面
8.2名字空间
8.2.1带限定词的名字
8.2.2使用声明
8.2.3使用指令
8.2.4多重界面
8.2.5避免名字冲突
8.2.6名字查找
8.2.7名字空间别名
8.2.8名字空间组合
8.2.9名字空间和老代码
8.3异常
8.3.1抛出和捕捉
8.3.2异常的辨识
8.3.3在计算器中的异常
8.4忠告
8.5练习
第9章源文件和程序
9.1分别编译
9.2连接
9.2.1头文件
9.2.2标准库头文件
9.2.3单一定义规则
9.2.4与非C++代码的连接
9.2.5连接与指向函数的指针
9.3使用头文件
9.3.1单一头文件
9.3.2多个头文件
9.3.3包含保护符
9.4程序
9.4.1非局部变量的初始化
9.5忠告
9.6练习
第二部分抽象机制
第10章类
10.1引言
10.2类
10.2.1成员函数
10.2.2访问控制
10.2.3构造函数
10.2.4静态成员
10.2.5类对象的复制
10.2.6常量成员函数
10.2.7自引用
10.2.8结构和类
10.2.9在类内部的函数定义
10.3高效的用户定义类型
10.3.1成员函数
10.3.2协助函数
10.3.3重载的运算符
10.3.4具体类型的意义
10.4对象
10.4.1析构函数
10.4.2默认构造函数
10.4.3构造和析构
10.4.4局部变量
10.4.5自由存储
10.4.6类对象作为成员
10.4.7数组
10.4.8局部静态存储
10.4.9非局部存储
10.4.10临时对象
10.4.11对象的放置
10.4.12联合
10.5忠告
10.6练习
第11章运算符重载
11.1引言
11.2运算符函数
11.2.1二元和一元运算符
11.2.2运算符的预定义意义
11.2.3运算符和用户定义类型
11.2.4名字空间里的运算符
11.3一个复数类型
11.3.1成员运算符和非成员运算符
11.3.2混合模式算术
11.3.3初始化
11.3.4复制
11.3.5构造函数和转换
11.3.6文字量
11.3.7另一些成员函数
11.3.8协助函数
11.4转换运算符
11.4.1歧义性
11.5友元
11.5.1友元的寻找
11.5.2友元和成员
11.6大型对象
11.7基本运算符
11.7.1显式构造函数
11.8下标
11.9函数调用
11.10间接
11.11增量和减量
11.12一个字符串类
11.13忠告
11.14练习
第12章派生类
12.1引言
12.2派生类
12.2.1成员函数
12.2.2构造函数和析构函数
12.2.3复制
12.2.4类层次结构
12.2.5类型域
12.2.6虚函数
12.3抽象类
12.4类层次结构的设计
12.4.1一个传统的层次结构
12.4.2抽象类
12.4.3其他实现方式
12.4.4对象创建的局部化
12.5类层次结构和抽象类
12.6忠告
12.7练习
第13章模板
13.1引言
13.2一个简单的String模板
13.2.1定义一个模板
13.2.2模板实例化
13.2.3模板参数
13.2.4类型等价
13.2.5类型检查
13.3函数模板
13.3.1函数模板的参数
13.3.2函数模板的重载
13.4用模板参数描述策略
13.4.1默认模板参数
13.5专门化
13.5.1专门化的顺序
13.5.2模板函数的专门化
13.6派生和模板
13.6.1参数化和继承
13.6.2成员模板
13.6.3继承关系
13.7源代码组织
13.8忠告
13.9练习
第14章异常处理
14.1错误处理
14.1.1关于异常的其他观点
14.2异常的结组
14.2.1派生的异常
14.2.2多个异常的组合
14.3捕捉异常
14.3.1重新抛出
14.3.2捕捉所有异常
14.4资源管理
14.4.1构造函数和析构函数的使用
14.4.2auto_ptr
14.4.3告诫
14.4.4异常和new
14.4.5资源耗尽
14.4.6构造函数里的异常
14.4.7析构函数里的异常
14.5不是错误的异常
14.6异常的描述
14.6.1对异常描述的检查
14.6.2未预期的异常
14.6.3异常的映射
14.7未捕捉的异常
14.8异常和效率
14.9处理错误的其他方式
14.10标准异常
14.11忠告
14.12练习
第15章类层次结构
15.1引言和概述
15.2多重继承
15.2.1歧义性解析
15.2.2继承和使用声明
15.2.3重复的基类
15.2.4虚基类
15.2.5使用多重继承
15.3访问控制
15.3.1保护成员
15.3.2对基类的访问
15.4运行时类型信息
15.4.1dynamic_cast
15.4.2在类层次结构中漫游
15.4.3类对象的构造与析构
15.4.4typeid和扩展的类型信息
15.4.5RTTI的使用和误用
15.5指向成员的指针
15.5.1基类和派生类
15.6自由存储
15.6.1数组分配
15.6.2虚构造函数
15.7忠告
15.8练习
第三部分标准库
第16章库组织和容器
16.1标准库的设计
16.1.1设计约束
16.1.2标准库组织
16.1.3语言支持
16.2容器设计
16.2.1专门化的容器和迭代器
16.2.2有基类的容器
16.2.3STL容器
16.3向量
16.3.1类型
16.3.2迭代器
16.3.3元素访问
16.3.4构造函数
16.3.5堆栈操作
16.3.6表操作
16.3.7元素定位
16.3.8大小和容量
16.3.9其他成员函数
16.3.10协助函数
16.3.11vector[bool]
16.4忠告
16.5练习
第17章标准容器
17.1标准容器
17.1.1操作综述
17.1.2容器综述
17.1.3表示
17.1.4对元素的要求
17.2序列
17.2.1向量—vector
17.2.2表—list
17.2.3双端队列—deque
17.3序列适配器1
17.3.1堆栈—stack1
17.3.2队列—queue
17.3.3优先队列—priority_queue
17.4关联容器
17.4.1映射—map
17.4.2多重映射—multimap
17.4.3集合—set
17.4.4多重集合—multiset
17.5拟容器
17.5.1串—string
17.5.2值向量—valarray
17.5.3位集合—bitset
17.5.4内部数组
17.6定义新容器
17.6.1散列映射—hash_map
17.6.2表示和构造
17.6.3其他散列关联容器
17.7忠告
17.8练习
第18章算法和函数对象
18.1引言
18.2标准库算法综述
18.3序列和容器
18.3.1输入序列
18.4函数对象
18.4.1函数对象的基类
18.4.2谓词
18.4.3算术函数对象
18.4.4约束器、适配器和否定器
18.5非修改性序列算法
18.5.1对每个做—for_each
18.5.2查找族函数
18.5.3计数
18.5.4相等和不匹配
18.5.5搜索
18.6修改性序列算法
18.6.1复制
18.6.2变换
18.6.3惟一化
18.6.4取代
18.6.5删除
18.6.6填充和生成
18.6.7反转和旋转
18.6.8交换
18.7排序的序列
18.7.1排序
18.7.2二分检索
18.7.3归并
18.7.4划分
18.7.5序列上的集合运算
18.8堆
18.9最小和最大
18.10排列
18.11C风格算法
18.12忠告
18.13练习
第19章迭代器和分配器
19.1引言
19.2迭代器和序列
19.2.1迭代器的操作
19.2.2迭代器特征类—iterator_traits
19.2.3迭代器类别
19.2.4插入器
19.2.5反向迭代器
19.2.6流迭代器
19.3带检查迭代器
19.3.1异常、容器和算法
19.4分配器
19.4.1标准分配器
19.4.2一个用户定义分配器
19.4.3广义的分配器
19.4.4未初始化的存储
19.4.5动态存储
19.4.6C风格的分配
19.5忠告
19.6练习
第20章串
20.1引言
20.2字符
20.2.1字符特征类—char_traits
20.3基础串类—basic_string
20.3.1类型
20.3.2迭代器
20.3.3元素访问
20.3.4构造函数
20.3.5错误
20.3.6赋值
20.3.7到C风格字符串的转换
20.3.8比较
20.3.9插入
20.3.10拼接
20.3.11查找
20.3.12替换
20.3.13子串
20.3.14大小和容量
20.3.15I/O操作
20.3.16交换
20.4C标准库
20.4.1C风格字符串
20.4.2字符分类
20.5忠告
20.6练习
第21章流
21.1引言
21.2输出
21.2.1输出流
21.2.2内部类型的输出
21.2.3用户定义类型的输出
21.3输入
21.3.1输入流
21.3.2内部类型的输入
21.3.3流状态
21.3.4字符的输入
21.3.5用户定义类型的输入
21.3.6异常
21.3.7流的联结
21.3.8哨位
21.4格式化
21.4.1格式状态
21.4.2整数输出
21.4.3浮点数输出
21.4.4输出域
21.4.5域的调整
21.4.6操控符
21.5文件流与字符串流
21.5.1文件流
21.5.2流的关闭
21.5.3字符串流
21.6缓冲
21.6.1输出流和缓冲区
21.6.2输入流和缓冲区
21.6.3流和缓冲区
21.6.4流缓冲区
21.7现场
21.7.1流回调
21.8C输入/输出
21.9忠告
21.10练习
第22章数值
22.1引言
22.2数值的限制
22.2.1表示限制的宏
22.3标准数学函数
22.4向量算术
22.4.1valarray的构造
22.4.2valarray的下标和赋值
22.4.3成员操作
22.4.4非成员函数
22.4.5切割
22.4.6切割数组—slice_array
22.4.7临时量、复制和循环
22.4.8广义切割
22.4.9屏蔽
22.4.10间接数组—indirect_array
22.5复数算术
22.6通用数值算法
22.6.1累积—accumulate
22.6.2内积—inner_product
22.6.3增量变化
22.7随机数
22.8忠告
22.9练习
第四部分用C++做设计
第23章开发和设计
23.1概述
23.2引言
23.3目的与手段
23.4开发过程
23.4.1开发循环
23.4.2设计目标
23.4.3设计步骤
23.4.4试验和分析
23.4.5测试
23.4.6软件维护
23.4.7效率
23.5管理
23.5.1重用
23.5.2规模
23.5.3个人
23.5.4混成设计
23.6带标注的参考文献
23.7忠告
第24章设计和编程
24.1概述
24.2设计和程序设计语言
24.2.1忽视类
24.2.2忽视继承
24.2.3忽视静态类型检查
24.2.4忽视程序设计
24.2.5排他性地使用类层次结构
24.3类
24.3.1类表示什么
24.3.2类层次结构
24.3.3包容关系
24.3.4包容和继承
24.3.5使用关系
24.3.6编入程序里的关系
24.3.7类内的关系
24.4组件
24.4.1模板
24.4.2界面和实现
24.4.3肥大的界面
24.5忠告
第25章类的作用
25.1类的种类
25.2具体类型
25.2.1具体类型的重用
25.3抽象类型
25.4结点
25.4.1修改界面
25.5动作
25.6界面类
25.6.1调整界面
25.7句柄类
25.7.1句柄上的操作
25.8应用框架
25.9忠告
25.10练习
附录和索引
附录A语法
附录B兼容性
附录C技术细节
附录D现场
附录E标准库的异常时安全性
索引
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价