图书介绍
Boost程序库探秘 深度解析C++准标准库PDF|Epub|txt|kindle电子书版本网盘下载
![Boost程序库探秘 深度解析C++准标准库](https://www.shukui.net/cover/42/33479583.jpg)
- 罗剑锋著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302274858
- 出版时间:2012
- 标注页数:599页
- 文件大小:19MB
- 文件页数:614页
- 主题词:C语言-程序设计
PDF下载
下载说明
Boost程序库探秘 深度解析C++准标准库PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第0章 导读1
0.1 关于本书1
0.2 读者对象2
0.3 本书的风格3
0.4 本书的开发环境3
0.5 本书的结构4
0.6 如何阅读本书5
第1章 模板元编程(Ⅰ)7
1.1 模板元编程概述7
1.1.1 元数据8
1.1.2 元函数9
1.1.3 元函数转发10
1.1.4 方便的工具11
1.1.5 应用示例12
1.2 type_traits14
1.2.1 概述14
1.2.2 元数据类别(Ⅰ)15
1.2.3 元数据类别(Ⅱ)17
1.2.4 元数据属性18
1.2.5 元数据之间的关系20
1.2.6 元数据转换21
1.2.7 解析函数元数据25
1.2.8 实现原理26
1.2.9 应用示例28
1.3 总结29
第2章 实用工具31
2.1 compressed_pair31
2.1.1 什么是空类31
2.1.2 类摘要33
2.1.3 构造与赋值34
2.1.4 用法35
2.1.5 实现原理36
2.1.6 功能扩展37
2.2 checked_delete40
2.2.1 函数的用法41
2.2.2 函数对象的用法42
2.2.3 带检查的删除44
2.2.4 实现原理45
2.2.5 使用建议47
2.3 addressof47
2.3.1 用法47
2.3.2 实现原理49
2.3.3 使用建议49
2.4 value_initialized50
2.4.1 变量的初始化50
2.4.2 initialized<T>51
2.4.3 用法52
2.4.4 value_initialized<T>52
2.4.5 更方便的用法53
2.5 base_from_member54
2.5.1 类摘要54
2.5.2 用法55
2.5.3 进一步的用法57
2.6 conversion59
2.6.1 标准转型操作符59
2.6.2 多态对象的转型60
2.6.3 polymorphic_downcast61
2.6.4 polymorphic_cast62
2.6.5 使用模板元编程实现转型63
2.7 numeric/conversion66
2.8 pointer67
2.8.1 pointee67
2.8.2 indirect_reference69
2.8.3 pointer_to_other69
2.8.4 compare_pointees70
2.9 scope_exit72
2.9.1 用法72
2.9.2 应用示例73
2.9.3 实现原理74
2.9.4 注意事项75
2.10 总结76
第3章 迭代器79
3.1 迭代器概述79
3.1.1 迭代器模式79
3.1.2 标准迭代器80
3.1.3 新式迭代器81
3.1.4 标准迭代器工具83
3.1.5 迭代器与算法84
3.2 next_prior84
3.2.1 函数声明85
3.2.2 用法85
3.3 iterator_traits87
3.3.1 标准迭代器特征类87
3.3.2 类摘要88
3.3.3 用法89
3.4 iterator_facade89
3.4.1 迭代器的核心操作90
3.4.2 类摘要90
3.4.3 用法92
3.5 iterator_adaptor96
3.5.1 类摘要96
3.5.2 用法98
3.6 迭代器工具99
3.6.1 共享容器迭代器99
3.6.2 发生器迭代器102
3.6.3 逆向迭代器104
3.6.4 间接迭代器105
3.6.5 计数迭代器107
3.6.6 函数输入迭代器110
3.6.7 函数输出迭代器113
3.6.8 过滤迭代器115
3.6.9 转换迭代器118
3.6.10 索引迭代器119
3.6.11 组合迭代器121
3.7 总结124
第4章 函数对象127
4.1 hash127
4.1.1 类摘要128
4.1.2 用法129
4.1.3 实现原理130
4.1.4 扩展hash131
4.2 mem_fn134
4.2.1 工作原理134
4.2.2 用法134
4.2.3 其他议题136
4.3 factory137
4.3.1 类摘要138
4.3.2 用法138
4.3.3 value_factory141
4.3.4 使用typeof库141
4.4 forward142
4.4.1 类摘要142
4.4.2 用法143
4.5 总结145
第5章 指针容器147
5.1 概述147
5.1.1 入门示例148
5.1.2 指针容器的优缺点151
5.1.3 可克隆概念152
5.1.4 克隆分配器153
5.1.5 指针容器的分类154
5.2 指针容器的共通能力157
5.2.1 模板参数157
5.2.2 构造与赋值159
5.2.3 访问元素160
5.2.4 其他能力162
5.3 序列指针容器适配器163
5.3.1 配置元函数163
5.3.2 类摘要164
5.3.3 接口解说166
5.3.4 代码示例166
5.4 ptr_vector167
5.4.1 类摘要168
5.4.2 用法169
5.5 ptr_deque170
5.5.1 类摘要170
5.5.2 用法171
5.6 ptr_list172
5.6.1 类摘要172
5.6.2 用法173
5.7 ptr_array174
5.7.1 类摘要174
5.7.2 用法175
5.8 ptr_circular_buffer177
5.8.1 类摘要177
5.8.2 用法178
5.9 空指针处理179
5.9.1 禁用空指针179
5.9.2 允许空指针179
5.9.3 使用空指针181
5.9.4 空对象模式182
5.10 关联指针容器的共通能力184
5.10.1 类摘要184
5.10.2 接口解说185
5.11 集合指针容器适配器186
5.11.1 配置元函数186
5.11.2 ptr_set_adapter187
5.11.3 ptr_multiset_adapter188
5.12 ptr_set和ptr_multiset189
5.12.1 类摘要189
5.12.2 用法190
5.13 ptr_unordered_set和ptr_unordered_multiset191
5.13.1 类摘要191
5.13.2 用法193
5.14 映射指针容器适配器194
5.14.1 配置元函数194
5.14.2 ptr_map_adapter195
5.14.3 ptr_multimap_adapter197
5.15 ptr_map和ptr_multimap198
5.15.1 类摘要198
5.15.2 用法199
5.16 ptr_unordered_map和ptr_unordered_multimap200
5.16.1 类摘要200
5.16.2 用法202
5.17 使用assign库203
5.17.1 向容器添加元素203
5.17.2 初始化容器元素204
5.18 使用算法205
5.18.1 标准算法205
5.18.2 序列指针容器的算法209
5.18.3 关联指针容器的算法212
5.19 其他议题214
5.19.1 异常214
5.19.2 间接函数对象215
5.19.3 插入迭代器216
5.19.4 使用视图分配器217
5.19.5 可克隆性的再讨论218
5.19.6 序列化219
5.20 总结219
第6章 侵入式容器221
6.1 概述221
6.1.1 手工实现链表222
6.1.2 intrusive库介绍223
6.2 入门示例224
6.2.1 使用基类挂钩224
6.2.2 使用成员挂钩225
6.3 基本概念227
6.3.1 节点228
6.3.2 节点特征228
6.3.3 节点算法229
6.3.4 值特征230
6.3.5 挂钩231
6.3.6 选项232
6.3.7 处置器234
6.3.8 克隆234
6.4 链表235
6.4.1 节点和算法235
6.4.2 基类挂钩236
6.4.3 成员挂钩237
6.4.4 list类摘要238
6.4.5 list的基本用法240
6.4.6 list的特有用法242
6.5 有序集合246
6.5.1 节点和算法246
6.5.2 基类挂钩247
6.5.3 成员挂钩248
6.5.4 set类摘要248
6.5.5 set的基本用法250
6.5.6 set的特有用法251
6.5.7 multiset类摘要253
6.5.8 multiset的用法254
6.6 无序集合254
6.6.1 节点和算法255
6.6.2 基类挂钩255
6.6.3 成员挂钩256
6.6.4 unordered_set类摘要257
6.6.5 unordered_set的基本用法258
6.6.6 unordered_set的特有用法260
6.6.7 unordered_multiset类摘要263
6.6.8 unordered_multiset的用法263
6.7 其他议题264
6.7.1 同时使用多个挂钩264
6.7.2 链接模式266
6.7.3 万能挂钩266
6.8 总结267
第7章 多索引容器269
7.1 概述269
7.2 入门示例270
7.2.1 简单的例子270
7.2.2 复杂的例子271
7.2.3 更复杂的例子273
7.3 基本概念276
7.3.1 索引276
7.3.2 索引说明277
7.3.3 键提取器278
7.3.4 索引说明列表279
7.3.5 索引标签279
7.3.6 多索引容器280
7.4 键提取器281
7.4.1 定义281
7.4.2 identity282
7.4.3 member283
7.4.4 const_mem_fun284
7.4.5 mem_fun286
7.4.6 global_fun287
7.4.7 自定义键提取器287
7.5 序列索引288
7.5.1 索引说明288
7.5.2 类摘要289
7.5.3 用法290
7.6 随机访问索引292
7.6.1 索引说明292
7.6.2 类摘要292
7.6.3 用法293
7.7 有序索引294
7.7.1 索引说明295
7.7.2 类摘要295
7.7.3 基本用法297
7.7.4 高级用法298
7.8 散列索引301
7.8.1 索引说明302
7.8.2 类摘要302
7.8.3 用法303
7.9 修改元素305
7.9.1 替换元素305
7.9.2 修改元素306
7.9.3 修改键309
7.10 多索引容器310
7.10.1 类摘要310
7.10.2 用法311
7.11 组合索引键314
7.11.1 类摘要314
7.11.2 用法315
7.11.3 辅助工具316
7.12 总结318
第8章 流处理319
8.1 概述319
8.1.1 标准库的流处理319
8.1.2 Boost的流处理321
8.2 入门示例322
8.2.1 示例1322
8.2.2 示例2324
8.3 设备的特征325
8.3.1 设备的字符类型325
8.3.2 设备的模式326
8.3.3 设备的分类328
8.4 设备329
8.4.1 设备概述329
8.4.2 数组设备330
8.4.3 标准容器设备332
8.4.4 文件设备334
8.4.5 空设备335
8.5 过滤器336
8.5.1 过滤器概述337
8.5.2 管道和设备链337
8.5.3 计数过滤器339
8.5.4 正则表达式过滤器(Ⅰ)341
8.5.5 正则表达式过滤器(Ⅱ)344
8.5.6 压缩过滤器345
8.6 流348
8.6.1 基本流348
8.6.2 过滤流349
8.7 流处理函数352
8.8 定制设备353
8.8.1 定制源设备354
8.8.2 定制接收设备356
8.9 定制过滤器357
8.9.1 过滤器实现原理357
8.9.2 aggregate_filter358
8.9.3 basic_line_filter360
8.9.4 手工打造过滤器361
8.10 组合设备365
8.10.1 combine365
8.10.2 compose366
8.10.3 tee367
8.11 其他议题369
8.12 总结370
第9章 序列化373
9.1 编译与使用373
9.1.1 编译373
9.1.2 使用376
9.2 入门示例376
9.2.1 示例1376
9.2.2 示例2378
9.2.3 示例3379
9.3 基本概念381
9.3.1 存档(archive)381
9.3.2 可序列化382
9.3.3 序列化和反序列化383
9.4 存档383
9.4.1 输出存档383
9.4.2 输入存档385
9.4.3 类继承体系386
9.4.4 XML格式存档387
9.4.5 异常388
9.5 使用序列化389
9.5.1 基本类型的序列化389
9.5.2 数组的序列化390
9.5.3 标准类型的序列化392
9.5.4 标准容器的序列化393
9.5.5 非标准容器的序列化394
9.5.6 Boost类型的序列化395
9.5.7 Boost容器的序列化397
9.6 定制序列化399
9.6.1 可序列化的要求399
9.6.2 侵入式可序列化402
9.6.3 非侵入式可序列化403
9.6.4 Boost类型的可序列化404
9.6.5 Boost容器的可序列化407
9.7 高级定制序列化410
9.7.1 派生类的序列化410
9.7.2 序列化的版本411
9.8 指针的序列化413
9.8.1 指针可序列化的要求413
9.8.2 原始指针的序列化414
9.8.3 智能指针的序列化414
9.8.4 派生类指针的序列化415
9.8.5 指针容器的序列化417
9.9 实用工具417
9.9.1 BOOST_STRONG_TYPEDEF417
9.9.2 BOOST_STATIC_WARNING418
9.9.3 smart_cast418
9.9.4 base64编解码419
9.9.5 base16编解码422
9.10 总结424
第10章 泛型编程427
10.1 enable_if427
10.1.1 类摘要428
10.1.2 应用于模板函数429
10.1.3 应用于模板类430
10.1.4 lazy_enable_if431
10.2 call_traits431
10.2.1 类摘要432
10.2.2 用法432
10.2.3 实现原理434
10.3 concept_check436
10.3.1 概述436
10.3.2 基本概念检查437
10.3.3 函数对象概念检查438
10.3.4 标准迭代器概念检查439
10.3.5 新式迭代器概念检查440
10.3.6 容器概念检查442
10.3.7 在函数声明中的概念检查444
10.3.8 概念原型类445
10.4 function_types446
10.4.1 属性标签447
10.4.2 函数类型分类448
10.4.3 函数类型分解449
10.4.4 函数类型合成451
10.4.5 其他议题452
10.5 总结452
第11章 模板元编程(Ⅱ)455
11.1 mpl概述455
11.2 mpl的整数类型456
11.2.1 概述456
11.2.2 整数类型458
11.2.3 bool类型459
11.2.4 基本运算460
11.3 mpl的流程控制464
11.3.1 if_和if_c464
11.3.2 eval_if和eval_if_c465
11.4 mpl的容器467
11.4.1 概述467
11.4.2 vector468
11.4.3 string469
11.4.4 map471
11.4.5 相关元函数472
11.5 mpl的迭代器473
11.5.1 概述473
11.5.2 相关元函数474
11.6 mpl的算法475
11.6.1 插入器475
11.6.2 查询算法476
11.6.3 变换算法478
11.6.4 运行时算法479
11.7 mpl的高级用法481
11.7.1 高阶元数据481
11.7.2 占位符482
11.7.3 bind表达式483
11.7.4 lambda表达式484
11.7.5 算法的高级应用485
11.8 mpl的调试488
11.8.1 断言488
11.8.2 打印输出491
11.9 mpl实例研究492
11.9.1 泛型编程版本493
11.9.2 元编程第1版495
11.9.3 元编程第2版497
11.10 总结499
第12章 开发实践501
12.1 基本工具501
12.1.1 标准整数502
12.1.2 并发503
12.1.3 日志506
12.2 第一个TCP服务器507
12.2.1 tcp_buffer508
12.2.2 tcp_server510
12.2.3 tcp_session514
12.2.4 验证519
12.2.5 使用回调函数520
12.2.6 简单协议的实现523
12.2.7 HTTP协议的实现529
12.3 多线程工具532
12.3.1 job_queue532
12.3.2 worker535
12.3.3 scheduler539
12.3.4 safe_map541
12.3.5 safe_singleton546
12.4 第二个TCP服务器547
12.4.1 消息结构定义548
12.4.2 tcp_message549
12.4.3 tcp_session552
12.4.4 tcp_server558
12.4.5 实现echo协议560
12.4.6 实现聊天室562
12.5 总结571
第13章 Effective Boost573
13.1 基本原则573
13.2 内存管理577
13.3 容器、迭代器和算法578
13.4 其他580
13.5 结束语582
附录A 推荐书目583
附录B Boost程序库组件索引585
附录C 程序员的工具箱597