泛型编程与STLPDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:(美)Matthew H.Austern著;侯捷译
- 出 版 社:北京:中国电力出版社
- 出版年份:2003
- ISBN:7508314875
- 页数:548 页
第一篇 泛型编程导入 1
第1章 STL巡礼 3
1.1 一个简单的例子 3
1.2 总结 7
第2章 算法与区间 9
2.1 线性查找(Linear Search) 9
2.1.1 以C完成线性查找 10
2.1.2 Ranges(区间) 12
2.1.3 以C++完成线性查找 13
2.2 Concepts和Modeling 16
2.3 Iterators(迭代器,泛型指针) 19
2.3.1 Input Iterators 20
2.3.2 Ouput Iterators 22
2.3.3 Forward Iterators Constant(不变的)Iterators和Mutable(可变的)Iterators 27
2.3.4 Bidirectional Iterators 27
2.3.5 Random Access Iterators 28
2.4 Refinement(精练、强化) 29
2.5 总结 31
3.1.1 Value Type(数值型别) 33
第3章 再论Iterators(迭代器or泛型指针) 33
3.1 Iterator Traits(迭代器特征)与Associated Types(相关型别) 33
3.1.2 Difference Type(差距型别) 36
3.1.3 Reference Type和Pointer Type 37
3.1.4 算法的处理与Iterator Tags 38
3.1.5 把一切统合起来 41
3.1.6 没有iterator_traits,如何制作Iterator Traits(迭代器特征) 43
3.2 定义新组件(New Components) 44
3.2.1 Iterator Adapters 46
3.2.3 定义算法时的建议 47
3.2.2 定义Iterator时的建议 47
3.3 总结 48
第4章 Function Objects(函数对象) 49
4.1 将线性查找一般化 49
4.2 Function Object Concepts(函数对象概念) 52
4.2.1 单参(Unary)与双参(Binary)Function Objects 52
4.2.2 Predicates和Binary Predicates 53
4.2.3 相关型别(Assocated Types) 54
4.3 Function Object Adapters(函数对象配接器) 56
4.5 总结 58
4.4 预定义的Function Objects 58
第5章 Containers(容器) 59
5.1 一个简单的Container 59
5.1.1 一个Array Class 60
5.1.2 它是如何运作的 63
5.1.3 最后讨论 63
5.2 Container Concepts 67
5.2.2 Iterators 68
5.2.1 元素的容纳(Containment of Elements) 68
5.2.3 Containers的阶层架构(Hierarchy) 70
5.2.4 最平淡无奇的Container 71
5.3 大小可变的Container Concepts 72
5.3.1 Sequences(序列) 73
其他形式的insert与erase 74
安插(Insertion)于开头(Front)和尾端(Back) 74
安插(Insertion)语义和覆盖(Overwrite)语义 75
5.3.2 Associative Containers(关联式容器) 75
5.4 总结 78
5.4.1 我们应该使用什么样的Container? 78
5.3.3 Allocators(配置器) 78
5.4.2 设计你自己的Container 79
第二篇 参考手册:STL Concepts 81
第6章 基本概念 83
6.1 Assignable 83
6.2 Default Constructible 84
6.3 Equality Comparable 85
6.4 可序性(Ordering) 86
6.4.1 LessThan Comparable 86
6.4.2 Strict Weakly Comparable 88
7.1 Trivial lterator 91
第7章 Iterators(迭代器or泛型指针) 91
7.2 Input lterator 94
7.3 Output lterator 96
7.4 Forward lterator 100
7.5 Bidirectional lterator 102
7.6 Random Access lterator 103
第8章 Function Objects(函数对象) 109
8.1 基本的Function Objects 109
8.1.1 Generator 110
8.1.2 Unary Function 111
8.1.3 Binary Function 112
8.2 Adaptable Function Objects 113
8.2.1 Adaptable Generator 113
8.2.2 Adaptable Unary Function 114
8.2.3 Adaptable Binary Function 115
8.3 Predicates 116
8.3.1 Predicate 116
8.3.2 Binary Predicate 117
8.3.3 Adaptable Predicate 118
8.3.5 Strict Weak Ordering 119
8.3.4 Adaptable Binary Predicate 119
8.4 特化的Concept 122
8.4.1 Random Number Generator 122
8.4.2 Hash Function(散列函数) 123
第9章 Containers(容器) 125
9.1 General Container Concepts 125
9.1.1 Container 125
9.1.2 Forward Container 131
9.1.3 Reversible Container 133
9.1.4 Random Access Container 135
9.2.1 Sequence 136
9.2 Sequence(序列:循序式容器) 136
9.2.2 Front lnsertion Sequence 141
9.2.3 Back Insertion Sequence 143
9.3 Associative Containers(关联式容器) 145
9.3.1 Associative Container 145
9.3.2 Unique Associative Container 149
9.3.3 Multiple Associative Container 152
9.3.4 Simple Associative Container 153
9.3.5 Pair Associative Container 155
9.3.6 Sorted Associative Container 156
9.3.7 Hashed Associative Container 161
9.4 Allocator(空间配置器) 166
第三篇 参考手册:算法与类 173
第10章 基本组件 175
10.1 pair 175
10.2 Iterator基本要素(Iterator Primitives) 177
10.2.1 iterator_traits 177
10.2.2 Iterator Tag Classes 179
10.2.3 distance 181
10.2.4 advance 183
10.2.5 Iterator Base Class 185
10.3 allocator 187
10.4 内存管理基本要素(Memory Management Primitives) 189
10.4.1 construct 189
10.4.2 destroy 190
10.4.3 uninitialized_copy 192
10.4.4 uninitialized_fill 194
10.4.5 uninitialized_fill_n 195
10.5 临时缓冲区(Temporary Buffers) 196
10.5.1 get_temporary_buffer 197
10.5.2 return_temporary_buffer 198
第11章 「不改变操作对象之内容」的算法 199
11.1 线性查找(Linear Search) 199
11.1.1 find 199
11.1.2 find_if 200
11.1.3 adjacent_find 202
11.1.4 find_first_of 204
11.2 子序列匹配(Subsquence Matching) 206
11.2.1 search 206
11.2.2 find_end 209
11.2.3 search_n 211
11.3 计算元素个数(Counting Elements) 214
11.3.1 count 214
11.3.2 count_if 216
11.4 for_each 218
11.5 比较两个Ranges 220
11.5.1 equal 220
11.5.2 nismatch 222
11.5.3 lexicographical_compare 225
11.6.1 min 227
11.6 最大值与最小值 227
11.6.2 max 228
11.6.3 min_element 229
11.6.4 max_element 231
第12章 「会改变操作对象之内容」的算法 233
12.1 拷贝某个区间(Copying Ranges) 233
12.1.1 copy 233
12.1.2 copy_backward 236
12.2 互换元素(Swapping Elements) 237
12.2.1 swap 237
12.2.2 iter_swap 238
12.2.3 swap_ranges 239
12.3 transform 240
12.4 替换元素(Replacing Elements) 243
12.4.1 replace 243
12.4.2 replace_if 244
12.4.3 replace_copy 246
12.4.4 replace_copy_if 248
12.5.1 fill 249
12.5 充填整个区间(Filling Ranges) 249
12.5.2 fill_n 250
12.5.3 generate 251
12.5.4 generate_n 252
12.6 移除元素(Removing Elements) 253
12.6.1 remove 253
12.6.2 remove_if 255
12.6.3 remove_copy 256
12.6.4 remove_copy_if 258
12.6.5 unique 259
12.6.6 unique_copy 262
12.7 排列算法(Permuting Algorithms) 264
12.7.1 reverse 264
12.7.2 reverse_copy 265
12.7.3 rotate 266
12.7.4 rotate_copy 268
12.7.5 next_permutation 269
12.7.6 prev_permutation 271
12.8 分割(Partitions) 273
12.8.1 partition 273
12.8.2 stable_partition 274
12.9 随机重排与抽样(Random Shuffling and Sampling) 275
12.9.1 random_shuffle 276
12.9.2 random_sample 277
12.9.3 random_sample_n 279
12.10 一般化之数值算法(Generalized Numeric Algorithms) 281
12.10.1 accumulate 281
12.10.2 inner_product 283
12.10.3 partial_sum 285
12.10.4 adjacent_difference 287
13.1 对某个区间排序(Sorting Ranges) 291
第13章 排序和查找 291
13.1.1 sort 292
13.1.2 stable_sort 294
13.1.3 partial_sort 297
13.1.4 partial_sort_copy 300
13.1.5 nth_element 301
13.1.6 is_sorted 303
13.2 sorted ranges上的操作行为 305
13.2.1 二分查找法(Binary Search) 305
13.2.1.1 binary_search 306
13.2.1.2 lower_bound 308
13.2.1.3 upper_bound 310
13.2.1.4 equal_range 313
13.2.2 合并(Merging)两个Sorted Ranges 316
13.2.2.1 merge 316
13.2.2.2 inplace_merge 318
13.2.3 在Sorted Ranges身上执行集合(Set)相关操作 320
13.2.3.1 includes 321
13.2.3.2 set_union 324
13.2.3.3 set_intersection 327
13.2.3.4 set_difference 330
13.2.3.5 set_symmetric_difference 333
13.3 堆的相关操作(Heap Operations) 336
13.3.1 make_heap 336
13.3.2 push_heap 338
13.3.3 pop_heap 339
13.3.4 sort_heap 342
13.3.5 is_heap 343
14.1 Insert Iterators 345
14.1.1 front_insert_iterator 345
第14章 Iterator Classes(迭代器类) 345
14.1.2 back_insert_iterator 348
14.1.3 insert_iterator 351
14.2 Stream Iterators 354
14.2.1 istream_iterator 354
14.2.2 ostream_iterator 357
14.2.3 istreambuf_iterator 359
14.2.4 ostreambuf_iterator 362
14.3 reverse_iterator 363
14.4 raw_storage_iterator 368
15.1.1 unary_function 371
15.1 Function Object Base Classes 371
第15章 Function Object Classes(函数对象类) 371
15.1.2 binary_function 372
15.2 算术运算(Arithmetic Operations) 373
15.2.1 plus 373
15.2.2 minus 375
15.2.3 multiplies 376
15.2.4 divides 378
15.2.5 modulus 379
15.2.6 negate 380
15.3 大小比较(Comparisons) 382
15.3.1 equal_to 382
15.3.2 not_equal_to 383
15.3.3 less 384
15.3.4 greater 386
15.3.5 less_equal 387
15.3.6 greater_equal 388
15.4 逻辑运算(Logical Operations) 390
15.4.1 logical_and 390
15.4.2 logical_of 391
15.4.3 logical_not 393
15.5 证同(Identity)与投射(Projection) 394
15.5.1 identity 394
15.5.2 projectlst 395
15.5.3 project2nd 397
15.5.4 selectlst 398
15.5.5 eslect2nd 399
15.6 特殊的Function Objects 400
15.6.1 hash 400
15.6.2 subtractive_rng 402
15.7 Member Function Adapters 403
15.7.1 mem_fun_t 404
15.7.2 mem_fun_ref_t 406
15.7.3 mem_funl_t 408
15.7.4 mem_funl_ref_t 410
15.7.5 const_mem_fun_t 412
15.7.6 const_mem_fun_ref_t 414
15.7.7 const_mem_funl_t 416
15.7.8 const_mem_funl_ref_t 418
15.8.1 binderlst 421
15.8 其他的Adapters 421
15.8.2 binder2nd 422
15.8.3 pointer_to_unary_function 424
15.8.4 pointer_to_binary_function 426
15.8.5 unary_negate 428
15.8.6 binary_negate 429
15.8.7 unary_compose 431
15.8.8 binary_compose 433
16.1.1 vector 435
16.1 序列(Sequences) 435
第16章 Container Classes(容器类) 435
16.1.2 list 441
16.1.3 slist 448
16.1.4 deque 455
16.2 Associative Containers(关联式容器) 460
16.2.1 set 461
16.2.2 map 466
16.2.3 multiset 473
16.2.4 multimap 478
16.2.5 hash_set 484
16.2.6 hash_map 488
16.2.7 hash_multiset 494
16.2.8 hash_multimap 499
16.3 Container Adapters 504
16.3.1 stack 505
16.3.2 queue 507
16.3.3 priority_queue 510
附录A 可移植性与标准化 515
A.1 语言上的变动 516
A.1.1 Template编译模型(Compilation Model) 516
A.1.2 带缺省值的Template参数(Default Template Parameters) 517
A.1.3 Member Templates 518
A.1.4 偏特化(Partial Specialization) 519
A.1.5 新加入的关键字 521
A.2 程序库的变动 524
A.2.1 Allocator 524
A.2.2 Container Adapters 525
A.2.3 次要的程序库变动 526
A.3 命名及包装(Naming and Packaging) 527
参考书目 531
索引 535
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《我的第一套编程启蒙绘本 咦 什么在 循环》编程猫教研团队编绘 2019
- 《工业机器人离线编程与仿真》张明文,封家诚,王鑫主编 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018