书籍详情

Boost程序库完全开发指南:深入C++准标准库(第5版)

Boost程序库完全开发指南:深入C++准标准库(第5版)

作者:罗剑锋 著

出版社:电子工业出版社

出版时间:2020-06-01

ISBN:9787121385346

定价:¥118.00

购买这本书可以去
内容简介
  Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C 程序库,有着“C ‘准’标准库”的美誉。Boost由C 标准委员会的部分成员所设立的Boost社区开发并维护,使用了许多现代C 编程技术,其内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C 的功能和表现力,能够使C 软件开发更加简捷、灵活和高效。本书基于2019年12月发布的Boost 1.72版编写,介绍了其中所有的160余个库,并且结合C 11/14/17标准详细、深入地讲解了其中的数十个库,同时实现了若干颇具实用价值的工具类和函数,可以帮助读者迅速地理解和掌握Boost的用法,并将其应用于实际的开发工作中。本书内容丰富、结构严谨、详略得当、讲解透彻,意在带领读者领略C *的前沿技术,相信它会成为每位C 程序员的必备工具书。
作者简介
  罗剑锋(网名Chrono)在1996年就读于东北财经大学;1997年开始接触C/C ;1998年参加计算机软件专业技术资格和水平考试,获高级程序员资质;2003年毕业于北京理工大学,获计算机专业硕士学位。主要研究方向为C/C 、设计模式、高性能网络服务器开发,业余爱好是阅读、旅游、欣赏音乐和电影。
目录

目录
第0章 导读 1
0.1 关于本书 1
0.2 读者对象 2
0.3 术语与风格 2
0.4 语言标准 3
0.5 本书的结构 4
0.6 如何阅读本书 5
0.7 本书的源码 5
第1章 总论 7
1.1 简介 7
1.1.1 获取方式 8
1.1.2 目录结构 8
1.1.3 使用方式 9
1.2 开发环境 10
1.2.1 快捷安装 10
1.2.2 完全安装 10
1.2.3 定制安装 11
1.2.4 编译验证 11
1.3 构建工具 12
1.3.1 安装方式 12
1.3.2 构建脚本 13
1.3.3 构建语言 13
1.3.4 构建命令 14
1.4 总结 14
第2章 时间与日期 15
2.1 timer库概述 15
2.2 timer 16
2.2.1 用法 16
2.2.2 类摘要 17
2.2.3 使用建议 18
2.3 progress_timer 18
2.3.1 用法 18
2.3.2 类摘要 19
2.4 date_time库概述 20
2.4.1 使用方式 20
2.4.2 基本概念 21
2.5 处理日期 21
2.5.1 日期 22
2.5.2 创建日期对象 22
2.5.3 访问日期 24
2.5.4 日期的输出 25
2.5.5 转换C结构 26
2.5.6 日期长度 26
2.5.7 日期运算 27
2.5.8 日期区间 29
2.5.9 日期区间运算 30
2.5.10 日期迭代器 32
2.5.11 其他功能 33
2.5.12 综合运用 33
2.6 处理时间 36
2.6.1 时间长度 36
2.6.2 操作时间长度 38
2.6.3 时间精确度 39
2.6.4 时间点 41
2.6.5 创建时间点对象 42
2.6.6 操作时间点对象 42
2.6.7 转换C结构 43
2.6.8 时间区间 44
2.6.9 时间迭代器 44
2.6.10 综合运用 45
2.7 date_time库的高级议题 48
2.7.1 编译配置宏 48
2.7.2 自定义字面值 48
2.7.3 格式化时间 49
2.7.4 本地时间 50
2.8 总结 51
第3章 内存管理 53
3.1 smart_ptr库概述 53
3.1.1 RAII机制 53
3.1.2 智能指针 54
3.2 scoped_ptr 55
3.2.1 类摘要 55
3.2.2 操作函数 56
3.2.3 用法 57
3.2.4 对比标准 59
3.3 shared_ptr 61
3.3.1 类摘要 61
3.3.2 操作函数 62
3.3.3 用法 64
3.3.4 工厂函数 65
3.3.5 应用于标准容器 66
3.3.6 应用于桥接模式 67
3.3.7 应用于工厂模式 68
3.3.8 定制删除器 70
3.3.9 高级议题 71
3.4 weak_ptr 75
3.4.1 类摘要 75
3.4.2 用法 75
3.4.3 对象自我管理 76
3.4.4 打破循环引用 77
3.5 intrusive_ptr 79
3.5.1 类摘要 79
3.5.2 用法 80
3.5.3 引用计数器 81
3.6 pool库概述 82
3.7 pool 82
3.7.1 类摘要 83
3.7.2 操作函数 83
3.7.3 用法 84
3.8 object_pool 85
3.8.1 类摘要 85
3.8.2 操作函数 85
3.8.3 用法 86
3.8.4 更多的构造参数 87
3.9 singleton_pool 88
3.9.1 类摘要 88
3.9.2 用法 89
3.10 总结 90
第4章 实用工具 93
4.1 noncopyable 93
4.1.1 原理 94
4.1.2 用法 94
4.1.3 实现 95
4.2 ignore_unused 96
4.2.1 基本用法 96
4.2.2 模板用法 97
4.3 optional 98
4.3.1 类摘要 98
4.3.2 操作函数 99
4.3.3 用法 100
4.3.4 工厂函数 102
4.4 assign 102
4.4.1 list_inserter 102
4.4.2 operator = 103
4.4.3 operator () 105
4.4.4 generic_list 106
4.4.5 初始化容器 107
4.4.6 重复输入 108
4.4.7 操作非标准容器 109
4.4.8 其他议题 110
4.5 tribool 111
4.5.1 类摘要 111
4.5.2 用法 112
4.5.3 为第三态更名 113
4.5.4 比较optional 114
4.6 operators 115
4.6.1 基本运算概念 115
4.6.2 算术操作符 116
4.6.3 基类链 119
4.6.4 复合运算概念 120
4.6.5 相等与等价 121
4.6.6 解引用操作符 123
4.6.7 下标操作符 124
4.6.8 布尔转型操作符 125
4.6.9 二元操作符 126
4.7 exception 127
4.7.1 标准库中的异常 127
4.7.2 类摘要 128
4.7.3 向异常传递信息 129
4.7.4 错误信息类 131
4.7.5 包装标准异常 132
4.7.6 使用函数抛出异常 133
4.7.7 获得更多信息 134
4.7.8 高级议题 135
4.8 uuid 137
4.8.1 类摘要 137
4.8.2 用法 138
4.8.3 生成器 140
4.8.4 增强用法 142
4.8.5 转换字符串 143
4.9 config 144
4.9.1 编译期字符串化 144
4.9.2 静态整型常量 145
4.10 utility 145
4.10.1 二进制常量 146
4.10.2 调用函数名 147
4.11 总结 148
第5章 字符串与文本处理 151
5.1 lexical_cast 151
5.1.1 函数声明 152
5.1.2 用法 152
5.1.3 错误处理 153
5.1.4 转换要求 155
5.1.5 转换自定义类 155
5.1.6 对比标准 156
5.2 format 157
5.2.1 简单的例子 158
5.2.2 输入操作符 159
5.2.3 类摘要 160
5.2.4 格式化语法 162
5.2.5 性能优化 163
5.2.6 高级用法 163
5.3 string_ref 164
5.3.1 类摘要 165
5.3.2 用法 166
5.4 string_algo 168
5.4.1 简单示例 168
5.4.2 算法概述 169
5.4.3 大小写转换 170
5.4.4 判断式(算法) 171
5.4.5 判断式(函数对象) 172
5.4.6 分类 173
5.4.7 修剪 174
5.4.8 查找 175
5.4.9 替换与删除 177
5.4.10 分割 178
5.4.11 合并 180
5.4.12 查找(分割)迭代器 181
5.5 xpressive 182
5.5.1 使用方式 182
5.5.2 正则表达式简介 183
5.5.3 类摘要 184
5.5.4 正则匹配 186
5.5.5 正则查找 189
5.5.6 正则替换 190
5.5.7 正则迭代 191
5.5.8 正则分词 192
5.5.9 高级议题 193
5.6 总结 196
第6章 正确性与测试 197
6.1 assert 197
6.1.1 基本用法 197
6.1.2 禁用断言 198
6.1.3 扩展用法 199
6.2 static_assert 201
6.2.1 定义 201
6.2.2 用法 201
6.3 lightweight_test 203
6.3.1 测试断言 203
6.3.2 用法 204
6.3.3 测试元编程 205
6.4 test 205
6.4.1 测试断言 206
6.4.2 测试主体 207
6.4.3 测试实例 209
6.4.4 测试夹具 211
6.4.5 测试日志 213
6.4.6 运行参数 214
6.4.7 高级议题 215
6.5 总结 218
第7章 容器与数据结构 219
7.1 array 219
7.1.1 类摘要 220
7.1.2 操作函数 221
7.1.3 用法 222
7.1.4 能力限制 222
7.1.5 初始化 223
7.1.6 对比标准 223
7.2 dynamic_bitset 224
7.2.1 类摘要 224
7.2.2 创建与赋值 225
7.2.3 容器操作 227
7.2.4 基本运算 228
7.2.5 访问元素 228
7.2.6 类型转换 230
7.2.7 集合操作 231
7.2.8 综合运用 231
7.3 unordered 233
7.3.1 散列集合简介 233
7.3.2 散列集合的用法 235
7.3.3 散列映射简介 237
7.3.4 散列映射的用法 239
7.3.5 高级议题 240
7.4 bimap 242
7.4.1 类摘要 242
7.4.2 基本用法 243
7.4.3 值的集合类型 245
7.4.4 集合类型的用法 246
7.4.5 使用标签类型 247
7.4.6 使用assign库 249
7.4.7 查找与替换 249
7.4.8 投射 251
7.4.9 高级议题 252
7.5 circular_buffer 253
7.5.1 类摘要 253
7.5.2 用法 254
7.5.3 环形结构 255
7.5.4 空间优化 256
7.6 tuple 257
7.6.1 二元组 257
7.6.2 类摘要 258
7.6.3 创建与赋值 258
7.6.4 访问元素 260
7.6.5 比较操作 261
7.6.6 输入输出 262
7.6.7 联结变量 263
7.6.8 内部结构 263
7.6.9 使用访问者模式 265
7.6.10 高级议题 266
7.7 any 269
7.7.1 类摘要 269
7.7.2 访问元素 270
7.7.3 用法 271
7.7.4 简化操作 272
7.7.5 保存指针 273
7.7.6 高级议题 274
7.8 variant 275
7.8.1 类摘要 276
7.8.2 访问元素 277
7.8.3 用法 277
7.8.4 访问器 278
7.8.5 高级议题 281
7.9 multi_array 283
7.9.1 类摘要 283
7.9.2 用法 284
7.9.3 改变形状和大小 286
7.9.4 创建子视图 287
7.9.5 适配普通数组 288
7.9.6 高级议题 289
7.10 property_tree 291
7.10.1 类摘要 292
7.10.2 读取配置信息 293
7.10.3 写入配置信息 295
7.10.4 更多用法 296
7.10.5 数据格式 297
7.10.6 高级议题 300
7.11 总结 301
第8章 算法 305
8.1 foreach 305
8.1.1 用法 306
8.1.2 详细解说 307
8.1.3 更优雅的名字 308
8.1.4 支持的序列类型 308
8.1.5 存在的问题 309
8.2 minmax 310
8.2.1 用法 310
8.2.2 存在的问题 311
8.3 minmax_element 312
8.3.1 基本用法 312
8.3.2 其他用法 313
8.4 algorithm 313
8.4.1 clamp 314
8.4.2 clamp_range 314
8.4.3 hex/unhex 315
8.5 总结 316
第9章 数学与数字 317
9.1 math.constants 317
9.1.1 基本用法 318
9.1.2 高级用法 319
9.2 integer 319
9.2.1 整数特征 319
9.2.2 标准整数类型 321
9.2.3 整数类型模板类 322
9.3 rational 326
9.3.1 类摘要 326
9.3.2

猜您喜欢

读书导航