图书介绍
STL源码剖析2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 侯捷著 著
- 出版社: 武汉:华中科技大学出版社
- ISBN:7560926991
- 出版时间:2002
- 标注页数:494页
- 文件大小:32MB
- 文件页数:527页
- 主题词:
PDF下载
下载说明
STL源码剖析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 STL 概论与版本简介1
1.1 STL概论1
1.1.1 STL的历史3
1.1.2 STL与C++标准程序库3
1.2 STL六大组件 功能与运用4
1.3 GNU源代码开放精神7
1.4 HP实现版本9
1.5 P.J.Plauger实现版本10
1.6 Rouge Wave实现版本11
1.7 STLport实现版本12
1.8 SGI STL实现版本13
1.8.1 GNU C++headers文件分布(按字母排序)14
1.8.2 SGI STL文件分布与简介16
(1)STL标准头文件(无扩展名)17
(2)C++Standard定案前,HP规范的STL头文件(扩展名.h)17
(3)SGI STL 内部私用文件(SGI STL真正实现于此)18
1.8.3 SGI STL的编译器组态设置(configuration)19
1.9 可能令你困惑的C++ 语法26
1.9.1 stl_config.h中的各种组态27
组态3:static template member27
组态5:class template partial specialization28
组态6:function template partial order29
组态7:explicit function template arguments29
组态8:member templates29
组态10:default template argument depend on previous template parameters30
组态11:non-type template parameters31
组态:bound friend template function32
组态:class template explicit specialization34
1.9.2 临时对象的产生与运用36
1.9.3 静态常量整数成员在class内部直接初始化37
1.9.4 increment/decrement/dereference 操作符37
1.9.5 前闭后开区间表示法?39
1.9.6 function call操作符(operator())40
第2章 空间配置器(allocator)43
2.1 空间配置器的标准接口43
2.1.1 设计一个简单的空间配置器,JJ::allocator44
2.2 具备次配置力(sub-allocation)的SGI空间配置器47
2.2.1 SGI标准的空间配置器,std::allocator47
2.2.2 SGI特殊的空间配置器,std::alloc49
2.2.3 构造和析构基本工具:construct()和destroy()51
2.2.4 空间的配置与释放,std::alloc53
2.2.5 第一级配置器_malloc_alloc_template剖析56
2.2.6 第二级配置器_default_alloc_template剖析59
2.2.7 空间配置函数allocate()62
2.2.8 空间释放函数deallocate()64
2.2.9 重新充填free lists65
2.2.10 内存池(memory pool)66
2.3 内存基本处理工具70
2.3.1 uninitialized_copy70
2.3.2 uninitialized_fill71
2.3.3 uninitialized_fill_n71
第3章 迭代器(iterators)概念与traits编程技法79
3.1 迭代器设计思维——STL关键所在79
3.2 迭代器(iterator)是一种smart pointer80
3.3 迭代器相应型别(associated types)84
3.4 Traits编程技法——STL源代码门钥85
Partial Specialization(偏特化)的意义86
3.4.1 迭代器相应型别之一:value_type90
3.4.2 迭代器相应型别之二:difference_type90
3.4.3 迭代器相应型别之三:reference_type91
3.4.4 迭代器相应型别之四:pointer_type91
3.4.5 迭代器相应型别之五:iterator_category92
以advanced()为例93
消除“单纯传递调用的函数”97
以distance()为例98
3.5 std::iterator的保证99
3.6 iterator源代码完整重列101
3.7 SGI STL的私房菜:_type_traits103
第4章 序列式容器(sequence containers)113
4.1 容器的概观与分类113
4.1.1 序列式容器(sequential containers)114
4.2 vector115
4.2.1 vector概述115
4.2.2 vector定义摘要115
4.2.3 vector的迭代器117
4.2.4 vector的数据结构118
4.2.5 vector的构造与内存管理:constructor,push_back119
4.2.6 vector的元素操作:pop_back,erase,clear,insert123
4.3 list128
4.3.1 list概述128
4.3.2 list的节点(node)129
4.3.3 list的迭代器129
4.3.4 list的数据结构131
4.3.5 list的构造与内存管理:constructor,push_back,insert132
4.3.6 list的元素操作:push_front,push_back,erase,pop_front,pop_back,clear,remove,unique,splice,merge,reverse,sort136
4.4 deque143
4.4.1 deque概述143
4.4.2 deque的中控器144
4.4.3 deque的迭代器146
4.4.4 deque的数据结构150
4.4.5 deque的构造与内存管理ctor,push_back,push_front152
4.4.6 deque的元素操作pop_back,pop_front,clear,erase,insert161
4.5 stack167
4.5.1 stack概述167
4.5.2 stack定义完整列表167
4.5.3 stack没有迭代器168
4.5.4 以list作为stack的底层容器168
4.6 queue169
4.6.1 queue概述169
4.6.2 queue定义完整列表170
4.6.3 queue没有迭代器171
4.6.4 以list作为queue的底层容器171
4.7 heap(隐式表述,implicit representation)172
4.7.1 heap概述172
4.7.2 heap算法174
push_heap算法174
pop_heap算法176
sort_heap算法178
make heap算法180
4.7.3 heap没有迭代器181
4.7.4 heap测试实例181
4.8 priority_queue183
4.8.1 priority_queue概述183
4.8.2 priority_queue定义完整列表183
4.8.3 priority_queue没有迭代器185
4.8.4 priority_queue测试实例185
4.9 slist186
4.9.1 slist概述186
4.9.2 slist的节点186
4.9.3 slist的迭代器188
4.9.4 slist的数据结构190
4.9.5 slist的元素操作191
第5章 关联式容器197
5.1 树的导览199
5.1.1 二叉搜索树200
5.1.2 平衡二叉搜索树203
5.1.3 AVL tree203
5.1.4 单旋转205
5.1.5 双旋转206
5.2 RB-tree(红黑树)208
5.2.1 插入节点209
5.2.2 一个由上而下的程序212
5.2.3 RB-tree的节点设计213
5.2.4 RB-tree的迭代器214
5.2.5 RB-tree的数据结构218
5.2.6 RB-tree的构造与内存管理221
5.2.7 RB-tree的元素操作223
元素插人操作insert_equal()223
元素插入操作insert_unique()224
真正的插入执行程序_insert()224
调整RB-tree(旋转及改变颜色)225
元素的搜寻229
5.3 set233
5.4 map237
5.5 multiset245
5.6 multimap246
5.7 hashtable247
5.7.1 hashtable概述247
线性探测(linear probing)249
二次探测(quadratic probing)251
开链(separate chaining)253
5.7.2 hashtable的桶子(buckets)与节点(nodes)253
5.7.3 hashtable的迭代器254
5.7.4 hashtable的数据结构256
5.7.5 hashtable的构造与内存管理258
插入操作(insert)与表格重整(resize)259
判知元素的落脚处(bkt_num)262
复制(copy_from)和整体删除(clear)263
5.7.6 hashtable运用实例264
5.7.7 hash functions268
5.8 hash_set270
5.9 hash_map275
5.10 hash_multiset279
5.11 hash_multimap282
第6章 算法(algorithms)285
6.1 算法概观285
6.1.1 算法分析与复杂度表示O()286
6.1.2 STL算法总览288
6.1.3 质变算法mutating algorithms——会改变操作对象之值291
6.1.4 非质变算法nonmutating algorithms——不改变操作对象之值292
6.1.5 STL算法的一般形式292
6.2 算法的泛化过程294
6.3 数值算法<stl_numeric.h>298
6.3.1 运用实例298
6.3.2 accumulate299
6.3.3 adjacent_difference300
6.3.4 inner_product301
6.3.5 partial_sum303
6.3.6 power304
6.3.7 itoa305
6.4 基本算法<stl_algobase.h>305
6.4.1 运用实例305
6.4.2 equal307
fill308
fill_n308
iter_swap309
lexicographical_compare310
max,min312
mismatch313
swap314
6.4.3 copy——强化效率无所不用其极314
6.4.4 copy_backward326
6.5 Set相关算法328
6.5.1 set_union331
6.5.2 set_intersection333
6.5.3 set_difference334
6.5.4 set_symmetric_difference336
6.6 heap算法338
6.7 其它算法338
6.7.1 单纯的数据处理338
adjacent_find343
count344
count_if344
find345
find_it345
find_end345
find_first_of348
for_each348
generate349
generate_n349
includes(应用于有序区间)349
max_element352
merge(应用于有序区间)352
min_element354
partition354
remove移除(但不删除)356
remove_copy357
remove_if357
remove_copy_if358
replace359
replace_copy359
replace_if359
replace_copy_if360
reverse360
reverse_copy361
rotate361
rotate_copy365
search365
search_n366
swap_ranges369
transform369
unique370
unique_copy371
6.7.2 lower_bound(应用于有序区间)375
6.7.3 upper_bound(应用于有序区间)377
6.7.4 binary_search(应用于有序区间)379
6.7.5 next_permutation380
6.7.6 prev_permutation382
6.7.7 random_shuffle383
6.7.8 partial_sort/partial_sort_copy386
6.7.9 sort389
6.7.10 equal_range(应用于有序区间)400
6.7.11 inplace_merge(应用于有序区间)403
6.7.12 nth_element409
6.7.13 merge sort411
第7章 仿函数(functors,另名 函数对象function objects)413
7.1 仿函数(functor)概观413
7.2 可配接(adaptable)的关键415
7.2.1 unary_function416
7.2.2 binary_function417
7.3 算术类(Arithmetic)仿函数418
7.4 关系运算类(Relational)仿函数420
7.5 逻辑运算类(Logical)仿函数422
7.6 证同(identity)、选择(select)、投射(project)423
第8章 配接器(adapters)425
8.1 配接器之概观与分类425
8.1.1 应用于容器,container adapters425
8.1.2 应用于迭代器,iterator adapters425
8.1.3 应用于仿函数,functor adapters428
8.2 container adapters434
8.2.1 stack434
8.2.2 queue434
8.3 iterator adapters435
8.3.1 insert iterators435
8.3.2 reverse iterators437
8.3.3 stream iterators442
8.4 function adapters448
8.4.1 对返回值进行逻辑否定:not1,not2450
8.4.2 对参数进行绑定:bindlst,bind2nd451
8.4.3 用于函数合成:compose1,compose2453
8.4.4 用于函数指针:ptr_fun454
8.4.5 用于成员函数指针:mem_fun,mem_fun_ref456
附录A 参考书籍与推荐读物(Bibliography)461
附录B 侯捷网站(本书支持站点简介)471
附录C STLPort的移植经验(by 孟岩)475
Borland C++Builder5476
Microsoft Visual C++6.0479
索引483
热门推荐
- 436103.html
- 2413436.html
- 3582722.html
- 2252523.html
- 2302553.html
- 2551675.html
- 1439400.html
- 1507054.html
- 2151138.html
- 671215.html
- http://www.ickdjs.cc/book_662082.html
- http://www.ickdjs.cc/book_2221234.html
- http://www.ickdjs.cc/book_3218501.html
- http://www.ickdjs.cc/book_2675453.html
- http://www.ickdjs.cc/book_2591834.html
- http://www.ickdjs.cc/book_3636569.html
- http://www.ickdjs.cc/book_3075038.html
- http://www.ickdjs.cc/book_3059394.html
- http://www.ickdjs.cc/book_701729.html
- http://www.ickdjs.cc/book_623025.html