没有合适的资源?快使用搜索试试~ 我知道了~
首页STL源码深度解析:专家级技术指南
"《STL源码剖析.pdf》是一本深入解析STL源代码的专业书籍,作者侯捷以其丰富的经验和对STL技术的深刻理解,通过对SGI STL源码的详细剖析,为有一定基础的读者揭示了STL背后的设计理念、实现技术和内存管理等核心内容。书中涵盖了强类型检查、算法、数据结构、以及STL组件的实现技术,旨在帮助读者更深入地理解和掌握STL的工作原理和高效性能。这本书特别强调了STL的复用性和效率,通过引用庄子的‘庖丁解牛’寓言,表达了作者对源代码精细剖析的娴熟和追求效率的决心。然而,由于内容深度较高,不适合C++初学者、泛型编程或STL初学者,也不涉及对象导向编程的教学,更适合希望深入学习和理解STL高级特性的中级开发者阅读。通过阅读这本书,读者将能够拓宽视野,提升编程技能,并且理解如何在实际项目中优化STL的运用。"
资源详情
资源推荐
目 錄
The Annotated STL Sources
xi
真正的安插執行程序
__insert
224
調整
RB-tree
(旋轉及改變顏色) 225
元素的搜尋
find
229
5.3 set
233
5.4
map 237
5.5
multiset 245
5.6
multimap
246
5.7
hashtable
247
5.7.1
hashtable
概述 247
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 運用實例(find, count) 264
5.7.7
hash functions
268
5.8
hash_set
270
5.9
hash_map
275
5.10
hash_multiset
279
5.11
hash_multimap
282
第 6 章 演算法(algorithms) 285
6.1 演算法概觀 285
6.1.1 演算法分析與複雜度表示
O
( )
286
6.1.2 STL演算法總覽 288
6.1.3 mutating algorithms — 會改變操作對象之值 291
STL 源碼剖析
The Annotated STL Sources
xii
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 accumulate
299
6.3.3
adjacent_difference
300
6.3.4
inner_product
301
6.3.5
partial_sum
303
6.3.6
power
304
6.3.7
itoa
305
6.4 基本演算法
<stl_algobase.h>
305
6.4.1 運用實例 305
6.4.2
equal
307
fill
308
fi ll _ n
308
it er _ s w ap
309
lexicographical_compare
310
ma x, m i n
312
mi sm a t c h
313
sw ap
314
6.4.3
copy
,強化效率無所不用其極 314
6.4.4
copy_backward
326
6.5
Set 相關演算法
(應用於已序區間)
328
6.5.1
set_union
331
6.5.2
set_intersection
333
6.5.3
set_difference
334
6.5.4
set_symmetric_difference
336
6.6 heap 演算法:
make_heap, pop_heap, push_heap, sort_heap
338
6.7 其他演算法 338
目 錄
The Annotated STL Sources
xiii
6.7.1 單純的資料處理 338
adjacent_find
343
count
344
count_if
344
fi nd
345
fi nd _ i f
345
fi nd _ e n d
345
find_first_of
348
fo r_ e a c h
348
ge ne r a t e
349
generate_n
349
in cl u d e s
(應用於已序區間)
349
max_element
352
me rg e
(應用於已序區間)
352
min_element
354
partition
354
re mo v e
357
remove_copy
357
re mo v e _ if
357
remove_copy_if
358
re pl a c e
359
replace_copy
359
replace_if
359
replace_copy_if
360
re ve r s e
360
reverse_copy
361
ro ta t e
361
rotate_copy
365
se ar c h
365
se ar c h _ n
366
swap_ranges
369
tr an s f o rm
369
un iq u e
370
unique_copy
371
6.7.2 lower_bound
(應用於已序區間)
375
6.7.3
upper_bound
(應用於已序區間)
377
6.7.4
binary_search
(應用於已序區間)
379
6.7.5
next_permutation
380
6.7.6
prev_permutation
382
6.7.7
random_shuffle
383
STL 源碼剖析
The Annotated STL Sources
xiv
6.7.8
partial_sort
/
partial_sort_copy
386
6.7.9
sort
389
6.7.10
equal_range
(應用於已序區間)
400
6.7.11
inplace_merge
(應用於已序區間)
403
6.7.12
nth_element
409
6.7.13 merge sort 411
第 7 章 仿函式(functor,另名 函式物件 function objects) 413
7.1 仿函式(functor)概觀 413
7.2 可配接
(
adaptable
)
的關鍵 415
7.1.1 unary_function 416
7.1.2 binary_function 417
7.3 算術類(Arithmetic)仿函式 418
plus, minus, multiplies, divides, modulus, negate,
identity_element
7.4 相對關係類(Relational)仿函式 420
equal_to, not_equal_to, greater, greater_equal, less, less_equal
7.5 邏輯運算類(Logical)仿函式 422
logical_and, logical_or, logical_not
7.6 證同(identity)、選擇(select)、投射(project) 423
identity, select1st, select2nd, project1st, project2nd
第 8 章 配接器(adapter) 425
8.1 配接器之概觀與分類 425
8.1.1 應用於容器,container adapters 425
8.1.2 應用於迭代器,iterator adapters 425
運用實例 427
8.1.3 應用於仿函式,functor adapters 428
運用實例 429
目 錄
The Annotated STL Sources
xv
8.2 container adapters 434
8.2.1 stack 434
8.2.1 queue 434
8.3 iterator adapters 435
8.3.1 insert iterators 435
8.3.2 reverse iterators 437
8.3.3 stream iterators (
istream_iterator
,
ostream_iterator
) 442
8.4 function adapters 448
8.4.1 對傳回值進行邏輯否定:not1, not2 450
8.4.2 對參數進行繫結(綁定):bind1st, bind2nd 451
8.4.3 用於函式合成:compose1, compose2(未納入標準) 453
8.4.4 用於函式指標:ptr_fun 454
8.4.5 用於成員函式指標:mem_fun, mem_fun_ref 456
附錄 A 參考資料與推薦讀物(Bibliography) 461
附錄 B 侯捷網站簡介 471
附錄 C STLport 的移植經驗(by 孟岩) 473
索引 481
剩余258页未读,继续阅读
Demiurge
- 粉丝: 5
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IPQ4019 QSDK开源代码资源包发布
- 高频组电赛必备:掌握数字频率合成模块要点
- ThinkPHP开发的仿微博系统功能解析
- 掌握Objective-C并发编程:NSOperation与NSOperationQueue精讲
- Navicat160 Premium 安装教程与说明
- SpringBoot+Vue开发的休闲娱乐票务代理平台
- 数据库课程设计:实现与优化方法探讨
- 电赛高频模块攻略:掌握移相网络的关键技术
- PHP简易简历系统教程与源码分享
- Java聊天室程序设计:实现用户互动与服务器监控
- Bootstrap后台管理页面模板(纯前端实现)
- 校园订餐系统项目源码解析:深入Spring框架核心原理
- 探索Spring核心原理的JavaWeb校园管理系统源码
- ios苹果APP从开发到上架的完整流程指南
- 深入理解Spring核心原理与源码解析
- 掌握Python函数与模块使用技巧
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功