图书介绍

泛型编程与STLpdf电子书版本下载

泛型编程与STL
  • (美)Matthew H.Austern著;侯捷译 著
  • 出版社: 北京:中国电力出版社
  • ISBN:7508314875
  • 出版时间:2003
  • 标注页数:548页
  • 文件大小:18MB
  • 文件页数:572页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

泛型编程与STLPDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 泛型编程导入 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

精品推荐