图书介绍

泛型编程与STL2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

泛型编程与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和Modeling16

2.3 Iterators(迭代器,泛型指针)19

2.3.1 Input Iterators20

2.3.2 Ouput Iterators22

2.3.3 Forward Iterators Constant(不变的)Iterators和Mutable(可变的)Iterators27

2.3.4 Bidirectional Iterators27

2.3.5 Random Access Iterators28

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 Type37

3.1.4 算法的处理与Iterator Tags38

3.1.5 把一切统合起来41

3.1.6 没有iterator_traits,如何制作Iterator Traits(迭代器特征)43

3.2 定义新组件(New Components)44

3.2.1 Iterator Adapters46

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 Objects52

4.2.2 Predicates和Binary Predicates53

4.2.3 相关型别(Assocated Types)54

4.3 Function Object Adapters(函数对象配接器)56

4.5 总结58

4.4 预定义的Function Objects58

第5章 Containers(容器)59

5.1 一个简单的Container59

5.1.1 一个Array Class60

5.1.2 它是如何运作的63

5.1.3 最后讨论63

5.2 Container Concepts67

5.2.2 Iterators68

5.2.1 元素的容纳(Containment of Elements)68

5.2.3 Containers的阶层架构(Hierarchy)70

5.2.4 最平淡无奇的Container71

5.3 大小可变的Container Concepts72

5.3.1 Sequences(序列)73

其他形式的insert与erase74

安插(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 设计你自己的Container79

第二篇 参考手册:STL Concepts81

第6章 基本概念83

6.1 Assignable83

6.2 Default Constructible84

6.3 Equality Comparable85

6.4 可序性(Ordering)86

6.4.1 LessThan Comparable86

6.4.2 Strict Weakly Comparable88

7.1 Trivial lterator91

第7章 Iterators(迭代器or泛型指针)91

7.2 Input lterator94

7.3 Output lterator96

7.4 Forward lterator100

7.5 Bidirectional lterator102

7.6 Random Access lterator103

第8章 Function Objects(函数对象)109

8.1 基本的Function Objects109

8.1.1 Generator110

8.1.2 Unary Function111

8.1.3 Binary Function112

8.2 Adaptable Function Objects113

8.2.1 Adaptable Generator113

8.2.2 Adaptable Unary Function114

8.2.3 Adaptable Binary Function115

8.3 Predicates116

8.3.1 Predicate116

8.3.2 Binary Predicate117

8.3.3 Adaptable Predicate118

8.3.5 Strict Weak Ordering119

8.3.4 Adaptable Binary Predicate119

8.4 特化的Concept122

8.4.1 Random Number Generator122

8.4.2 Hash Function(散列函数)123

第9章 Containers(容器)125

9.1 General Container Concepts125

9.1.1 Container125

9.1.2 Forward Container131

9.1.3 Reversible Container133

9.1.4 Random Access Container135

9.2.1 Sequence136

9.2 Sequence(序列:循序式容器)136

9.2.2 Front lnsertion Sequence141

9.2.3 Back Insertion Sequence143

9.3 Associative Containers(关联式容器)145

9.3.1 Associative Container145

9.3.2 Unique Associative Container149

9.3.3 Multiple Associative Container152

9.3.4 Simple Associative Container153

9.3.5 Pair Associative Container155

9.3.6 Sorted Associative Container156

9.3.7 Hashed Associative Container161

9.4 Allocator(空间配置器)166

第三篇 参考手册:算法与类173

第10章 基本组件175

10.1 pair175

10.2 Iterator基本要素(Iterator Primitives)177

10.2.1 iterator_traits177

10.2.2 Iterator Tag Classes179

10.2.3 distance181

10.2.4 advance183

10.2.5 Iterator Base Class185

10.3 allocator187

10.4 内存管理基本要素(Memory Management Primitives)189

10.4.1 construct189

10.4.2 destroy190

10.4.3 uninitialized_copy192

10.4.4 uninitialized_fill194

10.4.5 uninitialized_fill_n195

10.5 临时缓冲区(Temporary Buffers)196

10.5.1 get_temporary_buffer197

10.5.2 return_temporary_buffer198

第11章 「不改变操作对象之内容」的算法199

11.1 线性查找(Linear Search)199

11.1.1 find199

11.1.2 find_if200

11.1.3 adjacent_find202

11.1.4 find_first_of204

11.2 子序列匹配(Subsquence Matching)206

11.2.1 search206

11.2.2 find_end209

11.2.3 search_n211

11.3 计算元素个数(Counting Elements)214

11.3.1 count214

11.3.2 count_if216

11.4 for_each218

11.5 比较两个Ranges220

11.5.1 equal220

11.5.2 nismatch222

11.5.3 lexicographical_compare225

11.6.1 min227

11.6 最大值与最小值227

11.6.2 max228

11.6.3 min_element229

11.6.4 max_element231

第12章 「会改变操作对象之内容」的算法233

12.1 拷贝某个区间(Copying Ranges)233

12.1.1 copy233

12.1.2 copy_backward236

12.2 互换元素(Swapping Elements)237

12.2.1 swap237

12.2.2 iter_swap238

12.2.3 swap_ranges239

12.3 transform240

12.4 替换元素(Replacing Elements)243

12.4.1 replace243

12.4.2 replace_if244

12.4.3 replace_copy246

12.4.4 replace_copy_if248

12.5.1 fill249

12.5 充填整个区间(Filling Ranges)249

12.5.2 fill_n250

12.5.3 generate251

12.5.4 generate_n252

12.6 移除元素(Removing Elements)253

12.6.1 remove253

12.6.2 remove_if255

12.6.3 remove_copy256

12.6.4 remove_copy_if258

12.6.5 unique259

12.6.6 unique_copy262

12.7 排列算法(Permuting Algorithms)264

12.7.1 reverse264

12.7.2 reverse_copy265

12.7.3 rotate266

12.7.4 rotate_copy268

12.7.5 next_permutation269

12.7.6 prev_permutation271

12.8 分割(Partitions)273

12.8.1 partition273

12.8.2 stable_partition274

12.9 随机重排与抽样(Random Shuffling and Sampling)275

12.9.1 random_shuffle276

12.9.2 random_sample277

12.9.3 random_sample_n279

12.10 一般化之数值算法(Generalized Numeric Algorithms)281

12.10.1 accumulate281

12.10.2 inner_product283

12.10.3 partial_sum285

12.10.4 adjacent_difference287

13.1 对某个区间排序(Sorting Ranges)291

第13章 排序和查找291

13.1.1 sort292

13.1.2 stable_sort294

13.1.3 partial_sort297

13.1.4 partial_sort_copy300

13.1.5 nth_element301

13.1.6 is_sorted303

13.2 sorted ranges上的操作行为305

13.2.1 二分查找法(Binary Search)305

13.2.1.1 binary_search306

13.2.1.2 lower_bound308

13.2.1.3 upper_bound310

13.2.1.4 equal_range313

13.2.2 合并(Merging)两个Sorted Ranges316

13.2.2.1 merge316

13.2.2.2 inplace_merge318

13.2.3 在Sorted Ranges身上执行集合(Set)相关操作320

13.2.3.1 includes321

13.2.3.2 set_union324

13.2.3.3 set_intersection327

13.2.3.4 set_difference330

13.2.3.5 set_symmetric_difference333

13.3 堆的相关操作(Heap Operations)336

13.3.1 make_heap336

13.3.2 push_heap338

13.3.3 pop_heap339

13.3.4 sort_heap342

13.3.5 is_heap343

14.1 Insert Iterators345

14.1.1 front_insert_iterator345

第14章 Iterator Classes(迭代器类)345

14.1.2 back_insert_iterator348

14.1.3 insert_iterator351

14.2 Stream Iterators354

14.2.1 istream_iterator354

14.2.2 ostream_iterator357

14.2.3 istreambuf_iterator359

14.2.4 ostreambuf_iterator362

14.3 reverse_iterator363

14.4 raw_storage_iterator368

15.1.1 unary_function371

15.1 Function Object Base Classes371

第15章 Function Object Classes(函数对象类)371

15.1.2 binary_function372

15.2 算术运算(Arithmetic Operations)373

15.2.1 plus373

15.2.2 minus375

15.2.3 multiplies376

15.2.4 divides378

15.2.5 modulus379

15.2.6 negate380

15.3 大小比较(Comparisons)382

15.3.1 equal_to382

15.3.2 not_equal_to383

15.3.3 less384

15.3.4 greater386

15.3.5 less_equal387

15.3.6 greater_equal388

15.4 逻辑运算(Logical Operations)390

15.4.1 logical_and390

15.4.2 logical_of391

15.4.3 logical_not393

15.5 证同(Identity)与投射(Projection)394

15.5.1 identity394

15.5.2 projectlst395

15.5.3 project2nd397

15.5.4 selectlst398

15.5.5 eslect2nd399

15.6 特殊的Function Objects400

15.6.1 hash400

15.6.2 subtractive_rng402

15.7 Member Function Adapters403

15.7.1 mem_fun_t404

15.7.2 mem_fun_ref_t406

15.7.3 mem_funl_t408

15.7.4 mem_funl_ref_t410

15.7.5 const_mem_fun_t412

15.7.6 const_mem_fun_ref_t414

15.7.7 const_mem_funl_t416

15.7.8 const_mem_funl_ref_t418

15.8.1 binderlst421

15.8 其他的Adapters421

15.8.2 binder2nd422

15.8.3 pointer_to_unary_function424

15.8.4 pointer_to_binary_function426

15.8.5 unary_negate428

15.8.6 binary_negate429

15.8.7 unary_compose431

15.8.8 binary_compose433

16.1.1 vector435

16.1 序列(Sequences)435

第16章 Container Classes(容器类)435

16.1.2 list441

16.1.3 slist448

16.1.4 deque455

16.2 Associative Containers(关联式容器)460

16.2.1 set461

16.2.2 map466

16.2.3 multiset473

16.2.4 multimap478

16.2.5 hash_set484

16.2.6 hash_map488

16.2.7 hash_multiset494

16.2.8 hash_multimap499

16.3 Container Adapters504

16.3.1 stack505

16.3.2 queue507

16.3.3 priority_queue510

附录A 可移植性与标准化515

A.1 语言上的变动516

A.1.1 Template编译模型(Compilation Model)516

A.1.2 带缺省值的Template参数(Default Template Parameters)517

A.1.3 Member Templates518

A.1.4 偏特化(Partial Specialization)519

A.1.5 新加入的关键字521

A.2 程序库的变动524

A.2.1 Allocator524

A.2.2 Container Adapters525

A.2.3 次要的程序库变动526

A.3 命名及包装(Naming and Packaging)527

参考书目531

索引535

热门推荐