泛型编程与STL | PDF下载|ePub下载
类别: 计算机
作者:[美] Gayle Laakmann McDowell
出版社: 人民邮电出版社
原作名: Cracking the coding interview:150 programming questions and solutions,fifth edition
译者:李琳骁/漆犇
出版年: 2013-11
页数: 372
定价: 59.00元
装帧: 平装
ISBN: 9787115332912
出版社: 人民邮电出版社
原作名: Cracking the coding interview:150 programming questions and solutions,fifth edition
译者:李琳骁/漆犇
出版年: 2013-11
页数: 372
定价: 59.00元
装帧: 平装
ISBN: 9787115332912
内容简介 · · · · · ·
许多程序员可能并不知道,C++不仅是一个面向对象程序语言, 它还适用于泛型编程(generic programming)。这项技术可以大大增强你的能力,协助你写出高效率并可重复运用的软件组件(software components)。
本书由知名的C++专家Matthew H.Austern执笔,引导你进入泛型编程思维模型,并将你带往此一模型的最重要成品:C++ Standard Template Library(STL)。本书揭示STL的奥秘,告诉你STL不仅仅是一组方便运用的容器类(container classes);对于泛型组件和可交互作用的组件而言,STL是一个具备扩充能力的框架(framework)。
本书阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、function objects。循此路线,你可以把STL想像为一个由concepts(而非明确之functions或classes)组成的程序库:、你将学习其正式结构并因此获得其潜在威力所带来的完整优势。本书使你能够:
●以你自己的“可移植组件”及“可交互作用之泛型组件”扩充STL;
●产生一些算法,让它们和它们所处理之型别(types)及数据结构彻底划清界线;
●撰写更精致、更高效、更有效力的代码,可跨平台重复使用。
· · · · · ·
目录 · · · · · ·
译序(侯捷)
前言
第一篇 泛型编程导入
第1章 STL巡礼
1.1 一个简单的例子
1.2 总结
第2章 算法与区间
2.1 线性查找(Linear Search)
2.2 Concepts和Modeling
2.3 Iterators(迭代器,泛型指针)
2.4 Refinement(精炼,强化)
2.5 总结
第3章 再论Iterators(迭代器or泛型指针)
3.1 Iterator Traits(迭代器特征)与Associated Types(相关型别)
3.2 定义新组件(New Components)
3.3 总结
第4章 Function Objects(函数对象)
4.1 将线性查找一般化
4.2 Function Object Concepts(函数对象概念)
4.3 Function Object Adapters(函数对象配接器)
4.4 预定义的Function Objects
4.5 总结
第5章 Containers(容器)
5.1 一个简单的Containers
5.2 Containers Concepts
5.3 大小可变的Containers Concepts
5.4 总结
第二篇 参考手册:STL Concepts
第6章 基本概念
6.1 Assignable
6.2 Default Comparable
6.3 Equality Comparable
6.4 可序性(Ordering)
第7章 Iterators(迭代器or泛型指针)
7.1 Trivial Iterator
7.2 Input Iterator
7.3 Output Iterator
7.4 Forward Iterator
7.5 Bidirectional Iterator
7.6 Random Access Iterator
第8章 Function Objects(函数对象)
8.1 基本的Function Objects
8.2 Adaptable Function Objects
8.3 Predicates
8.4 特化的Concept
第9章 Containers(容器)
9.1 General Container Concepts
9.2 Sequence(序列: 循序式容器)
9.3 Associative Containers(关联式容器)
9.4 Allocator(空间配置器)
第三篇 参考手册: 算法与类
第10章 基本组件
10.1 Pair
10.2 Iterator基本要素
10.3 allocator
10.4 内存管理基本要素
10.5 临时缓冲区
第11章 [不改变操作对象之内容]的算法
11.1 线性查找
11.2 子序列匹配
11.3 计算元素个数
11.4 for_each
11.5 比较两个Ranges
11.6 最大值与最小值
第12章 [会改变操作对象之内容]的算法
12.1 拷贝某个区间
12.2 互换元素
12.3 transform
12.4 替换元素
12.5 充填整个区间
12.6 移除元素
12.7 排列算法
12.8 分割
12.9 随机重排与抽样
12.10 一般化之数值算法
第13章 排序和查找
13.1 对某个区间排序
13.2 sorted ranges上的操作行为
13.3 堆的相关操作
第14章 Iterator Classess(迭代器类)
14.1 Insert Iterators
14.2 Stream Iterators
14.3 reverse_iterator
14.4 raw_storage_iterator
第15章 Function Object Classes(函数对象类)
15.1 Function Object Base Classes
15.2 算术运算
15.3 大小比较
15.4 逻辑运算
15.5 证同与投射
15.6 特殊的Function Objects
15.7 Member Function Adapters
15.8 其他的Adapters
第16章 Container Classes(容器类)
16.1 序列(Sequences)
16.2 Associative Containers(关联式容器)
16.3 Container Adapters
附录A 可移植性与标准化
A.1 语言上的变动
A.2 程序库的变动
A.3 命名及包装
参考书目
索引
· · · · · ·
前言
第一篇 泛型编程导入
第1章 STL巡礼
1.1 一个简单的例子
1.2 总结
第2章 算法与区间
2.1 线性查找(Linear Search)
2.2 Concepts和Modeling
2.3 Iterators(迭代器,泛型指针)
2.4 Refinement(精炼,强化)
2.5 总结
第3章 再论Iterators(迭代器or泛型指针)
3.1 Iterator Traits(迭代器特征)与Associated Types(相关型别)
3.2 定义新组件(New Components)
3.3 总结
第4章 Function Objects(函数对象)
4.1 将线性查找一般化
4.2 Function Object Concepts(函数对象概念)
4.3 Function Object Adapters(函数对象配接器)
4.4 预定义的Function Objects
4.5 总结
第5章 Containers(容器)
5.1 一个简单的Containers
5.2 Containers Concepts
5.3 大小可变的Containers Concepts
5.4 总结
第二篇 参考手册:STL Concepts
第6章 基本概念
6.1 Assignable
6.2 Default Comparable
6.3 Equality Comparable
6.4 可序性(Ordering)
第7章 Iterators(迭代器or泛型指针)
7.1 Trivial Iterator
7.2 Input Iterator
7.3 Output Iterator
7.4 Forward Iterator
7.5 Bidirectional Iterator
7.6 Random Access Iterator
第8章 Function Objects(函数对象)
8.1 基本的Function Objects
8.2 Adaptable Function Objects
8.3 Predicates
8.4 特化的Concept
第9章 Containers(容器)
9.1 General Container Concepts
9.2 Sequence(序列: 循序式容器)
9.3 Associative Containers(关联式容器)
9.4 Allocator(空间配置器)
第三篇 参考手册: 算法与类
第10章 基本组件
10.1 Pair
10.2 Iterator基本要素
10.3 allocator
10.4 内存管理基本要素
10.5 临时缓冲区
第11章 [不改变操作对象之内容]的算法
11.1 线性查找
11.2 子序列匹配
11.3 计算元素个数
11.4 for_each
11.5 比较两个Ranges
11.6 最大值与最小值
第12章 [会改变操作对象之内容]的算法
12.1 拷贝某个区间
12.2 互换元素
12.3 transform
12.4 替换元素
12.5 充填整个区间
12.6 移除元素
12.7 排列算法
12.8 分割
12.9 随机重排与抽样
12.10 一般化之数值算法
第13章 排序和查找
13.1 对某个区间排序
13.2 sorted ranges上的操作行为
13.3 堆的相关操作
第14章 Iterator Classess(迭代器类)
14.1 Insert Iterators
14.2 Stream Iterators
14.3 reverse_iterator
14.4 raw_storage_iterator
第15章 Function Object Classes(函数对象类)
15.1 Function Object Base Classes
15.2 算术运算
15.3 大小比较
15.4 逻辑运算
15.5 证同与投射
15.6 特殊的Function Objects
15.7 Member Function Adapters
15.8 其他的Adapters
第16章 Container Classes(容器类)
16.1 序列(Sequences)
16.2 Associative Containers(关联式容器)
16.3 Container Adapters
附录A 可移植性与标准化
A.1 语言上的变动
A.2 程序库的变动
A.3 命名及包装
参考书目
索引
· · · · · ·
发表回复
要发表评论,您必须先登录。