掌握标准C++类(绝版资料)
作 者: (美)[C.休斯]Cameron Hughes,(美)[T.休斯]Tracey Hughes著;健莲科技译
出版时间:2000
丛编项: 计算机技术译林精选系列
内容简介
本书着重讨论了C+十类和算法组件的各个方面。在每方面,除了介绍一些基础知识外,还提供了大量的示例程序,以指导读者学习使用功能强大的类库。需要集成Java程序和C+十程序的Java程序员将在本书中找到标准C+十类、类属性、类方法的完整描述和详细文档资料。本书条理清晰,语言简练,适用于初学者和高级程序设计人员。
目录
第一章 C++类库概述
1.1 C++标准类库:功能视图
1.1.1 面向对象的输入/输出
l.1.2 容器类和ADT(抽象数据类型)
1.1.3 重要的新ADT(抽象数据类型)
1.1.4 存储管理类
1.2 标准C++类库的结构视图
1.2、1 什么是标准面向对象程序设计方法
1.2.2 通用性
l.2.3 面向对象的程序设计方法和生成式程序设计方法
1.2.4 接日视图
1.3 C++语言与标准软件设计(lego)
第二章 类的内部结构(Anatomy)
2.1 标准C++类库类
2.1.1 具体类
2.1.2 抽象类
2.1.3 接日(适配子)类
2.1.4 节点类
2.1.5 支持/实用类
2.1.6 迭代子类
2.1.7 分配器类
2.1.8 参数化(模板)类
2.l.9 领域关
2.2 属性(attribute)、特性(characteristic)和方法(method)
2.2.1 私有方式
2.2.2 只有成员可以访问
2.2.3 对公共开放
2.3 小结
第三章 IO流(iostreams)
3.1 类和IO流
3.1.1 流状态组件
3.1.2 缓冲组件
3.1.3 转换组件
3.l.4 流状态类ios_base<T>和basic_ios<T>
3.l.5 缓冲类basic_streambuf,basic_filebuf,basic_stringbuf
3.1.6 转换类basic_istream和basic_ostream
3.2 面向对象的输入l输出
3.2.1 抽取符(extractors)
3.2.2 cout,wcout和inserters
3.3 IO流类层次结构
3.4 IO流类型定义(typedefs)
3.4.1 basic_streambuf类
3.5 最基本的基类ios_base
3.5.1 构造basic_ios(ios)对象
3.5.2 打开(open)模式
3.5.3 ios类的缓冲组件
3.5.4 ios类的缓冲状态组件
3.5.5 ios类的格式状态(format state)组件
3.6 一个面向对象的输入模型
3.6.1 构造一个istream对象
3.6.2 istream访问函数:流抽取和对象转化
3.6.3 抽取运算符
3.6.4 抽取转化(translation)和换算(conversion)
3.6.5 非格式化抽取
3.6.6 岗哨(SClltry)对象及ipfX()、isfX()前缀和后缀方法
3.7 一个面向对象的输出模式类basic_ostream
3.7.1 一个ostream对象的构造
3.7.2 插入运算符
3.7.3 插人转化和换算
3.7.4 basic_ostream类访问函数
3.7.5 类iostream=basic_istream+basic_ostream
3.7.6 岗哨(sentry)对象及opfx()、osfx()前缀和后缀方法
3.8 类ifstream
3.8.1 构造ifstream对象
3.8.2 访问ifstream类缓冲的方法
3.8.3 使用ifstream对象
3.8.4 面向对象输出文件的oftream类
3.8.5 构造ofstreaxn对象
3.8.6 访问ofstream类缓冲的方法
3.8.7 类fstream=ifstream+ofstream
3.9 文件
3.9.1 打开和关闭文件
3.9.2 写文本文件
3.9.3 读文本文件
3.9.4 写二进制文件
3.9.5 读二进制文件
3.9.6 对二进制文件进行对象的读写
3.9.7 类istringstream(内存设备)
3.9.8 构造istnngstream对象
3.9.9 类ostungstream
3.9.10 类stnngstrealn=istringstream+ostnngstrealn
3.10 控制器(manipulators)
3.10.l 换行(new-line)控制器endl
3.10.2 空(null〕控制器ends
3.10.3 刷新流
3.10.4 数字格式化控制器
3.10.5 跳过空白区(whitespaces)
3.10.6 标志控制器
3.10.7 填补(Padding)和填充(fill)控制器
3.11 小结
第四章 串(string)类
4.l 串的概念
4.1.1 串的表示
4.1.2 串类
4.2 基本串类
4.2.1 基本串类模板参数
4.2.2 串类服务
4.2.3 串对象的构造
4.2.4 用子串构造串对象
4.2.5 串分配
4.2.6 访问串数据组件
4.2.7 访问字符序列
4.2.8 访问于串
4.2.9 访问有关串对象的信息
4.2.10 串对象的内存管理
4.2.11 拷贝(copying)和交换(swapping)
4.2.12 异常处理
4.3 串类的扩展
4.4 小结
第五章 异常(exception)类
5.1什么是软件错误(SofewareError)
5.1.1 软件规范(Specifications)
5.2 软件失败和异常
5.3 测试(testing)、调试(debugging)和异常处理定义
5.3.1 错误处理的一般方法
5.4 异常类层次结构
5.4.1 logic_error类
5.4.2 runtime_error类
5.4.3 为异常类族分类
5.4.4 构造异常类
5.4.5 析构异常类
5.4.6 赋值和异常类
5.5 使用异常类
5.5.1 管理异常类
5.5.2 具体化(specializing)异常类
5.6 处理异常
5.6.1 重执模式
5.1.2 终止模式
5.7 小结
第六章 RuntimeTypeInformation类
6.l 运行类型信息
6.1.1 type_info类
6.l.2 bad_typeid类
6.1.3 动态强制转换(casting)和bad_cast类
6.2 小结
第七章 标准C+十容器
7.1 什么是容器
7.1.1 容器类体系结构
7.2 顺序存储对象
7.2.1 容器和接日视图
7.2.2 所有容器公用的通用方法和运算符
7.2.3 所有顺序容器公用的通用方法
7.2.4 所有联合容器公用的通用方法
7.3 容器和自动存储管理
7.4 使用顺序容器
7.4.1 顺序容器的接曰协议
7.4.2 构造顺序容器
7.4.3 顺序容器和动态分配
7.4.4 构顺序容器
7.4.5 顺序插入修改方法
7.4.6 顺序删除修改方法
7.4.1 其他顺序容器访问方法
7.4.8 顺序容器迭代访问方法
7.5 面向对象向量
7.5.1 为什么向量是很有用的
7.5.2 构造一个向量
7.5.3 析构一个向量
7.5.4 访问向量信息
7.5.5 使用修改方法向向量放置对象
7.5.6 从容器中移走对象
7.5.7 从向量访问对象
7.5.8 向量类型的关系操作
7.6 双端队列
7.1.l 面向对象的队列、优先队列和双端队列
7.6.2 标准双端队列
7.6.3 构造双端队列
7.6.4 访问双端队列信息
7.6.5 使用修改方法来向双端队列插入对象
7.6.6 双端队列对象访问方法
7.7 容器类库适配于(adaptor)
7.7.1 什么是适配子
7.8 面向对象的堆栈
7.8.1 标准堆栈
7.9 标准队列
7.9.1 优先队列
7.10 联合容器
7.10.1 使用联合容器
7.10.2 标准联合容器的构造函数和析构函数
7.10.3 联合容器的插入修改方法
7.10.4 联合容器的删除修改方法
7.10.5 联合容器的迭代子访问方法
7.11 集合容器
7.11.1 集合从属关系
7.11.2 通用集合对象类型
7.12 什么是面向对象的集合
7.12.1 集合的逻辑表示和实现
7.13 标准集合容器.
7.13.1 对于内置类型的客户职责
7.13.2 对于用户定义类型的客户职责
7.13.3 集合的构造函数
7.13.4 集合的析构函数
7.13.5 集合容器信息的访问
7.14 标准多重集容器.
7.14.l 多重集的插人修改方法
7.14.2 多重集的insert()修改方法
7.14.3 多重集的erase()修改方法
7.14.4 多重集的访问方法
7.14.5 多重集的运算符
7.15 关系、映像和多重映像
7.15.1 映像容器
7.15.2 标准映像容器
7.15.3 映像的构造函数
7.15.4 映像的析构函数
7.15.5 映像的信息访问方法
7.15.6 映像的插入修改方法
7.15.7 erase()修改方法
7.15.8 映像对象的访问方法
7.16 映像容器的运算符和操作
7.17 多重映像容器类.
7.17.1 标准多重映像容器
7.17.2 多重映像的构造函数
7.17.3 多重映像的析构函数
7.17.4 多重映像容器的信息访问方法
7.17.5 多重映像容器的修改方法
7.17.6 多重映像容器的其他访问方法
7.18 多重映像容器的运算符和操作
7.19 小结
第八章 迭代子
8.1 迭代子处理:顺序和直接访问
8.2 使用标准C++库迭代子
8.2.1 迭代子分类
8.3 迭代子和容器类
8.3.1 恒定和可变的选代子
8.4 迭代子适配器
8.5 预定义的迭代子类
8.5.1 迭代子特性和迭代于类
8.5.2 流和流缓冲区迭代子
8.5.3 插入迭代子
8.5.4 反向迭代子
8.5.5全局方法advance()和distance()
8.6 小结
第九章 算法库
9.1 什么是算法(Algorithms)
9.2 算法的重要性
9.3 算法的通用性
9.4 C++标准算法
9.4.1 算法的参数
9.5 查找算法
9.5.1 顺序查找法
9.1.2 对分查找
9.1.3 查找用户自定义的对象
9.6 排序算法
9.6.1 排序特征
9.6.2 空间需求
9.6.3 排序的稳定性
9.6.4 标准类库排序的分类
9.6.5 排序算法的使用
9.7 集合算法
9.7.1 集合操作
9.8 容器管理算法
9.9 算法设计的考虑
9.9.1 所有算法的5种需要
9.9.2 算法和类方法的关系
9.9.3 算法组件
9.10 小结
第十章 内存管理
10.1 C++中的动态内存分配
10.1.1 C++中的静态内存分配
10.1.2 对象的动态内存分配
10.2 分配算符类
IO.2.1 分配算符类
10.2.2 分配算符类型定义成员
10.2.3 分配算符类的成员函数
10.3 Auto_ptr类
10.3.1 autoxtr对象的构造函数
10.3.2 使用auto_ptr
10.4 小结
第十一章 数字(numerics)类
11.1 数值界限(numeric_limits)类
11.2 数值数组(valarrny)类
11.2.1 数值数组类组
11.2.2 向量操作与数值数组类
11.2.3 构造数组对象
11.2.4 重要的数值数组访问方法
11.2.5 数值数组的修改
11.3 复数(complex)类
11.4 小结
第十二章 语言支持
12.1 国际化与本地化
12.2 标准C++类的国际化支持
12.2.1 facet类
12.2.2 比较(collate)facet类
12.2.3 Ctype facet类
12.2.4 数字facet类
12.2.5 货币(monetary)facet类
12.2.6 时间facet类
12.2.7 消息facet类
12.3 创建并使用方面对象
12.4 现场(locale)类
12.4.1 构造现场对象
12.4.2 现场运算符
12.4.3 全局的和典型的现场
12.4.4 访问现场方面
12.4.5 流的方面
12.5 Char_traitS类
12.5.1 char_traits的方法
12.6 小结
第十三章 用Java连接(interfacing)C++
13.1 Java API
13.2 C++与Java的通信
13.3 Java本地接口(Java Native Interface)
13.3.1 请求API
13.4 一个JNI的例子
第十四章 综述
14.1 新的ANSI/ISO标准
14.2 IO流类的变化
14.2.1 注意Narrow与Wide的差异
14.2.2 IO流的类型定义(typedef)
14.2.3 新的缺省流声明
14.2.4 IO流和异常
14.3 新类
14.4 标准C++类库的3个视图(view)
14.4.1 新的体系结构视图
14.4.2 接口视图
14.5 标准C++类和Java类集成
14.6 图示C++类和对象层次结构
14.7 编译器的兼容性、可移植性和展望
14.8 仅仅是个开始