极客时间商城店铺主页二维码
极客时间商城
为极致和美好付费
微信扫描二维码,访问我们的微信店铺

Boost程序库完全开发指南——深入C++"准”标准库(第4版)

78.20
运费: 免运费
库存: 0 件
商品已售罄 收藏 / 分享
Boost程序库完全开发指南——深入C++"准”标准库(第4版) 商品图0
Boost程序库完全开发指南——深入C++"准”标准库(第4版) 商品缩略图0

商品详情

书名:Boost程序库完全开发指南——深入C++"准”标准库(第4版)
定价:99.0
ISBN:9787121324604
作者:罗剑锋
版次:第1版
出版时间:2017-10

内容提要:

内容介绍

    Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。 Boost由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简捷、优雅、灵活和高效。 本书基于2017年4月发布的Boost1.64版,介绍了其中的所有140余 个库,并且结合C++11/14/17标准详细、深入地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速地理解、掌握Boost的用法并应用于实际的开发工作。




作者简介:

作者介绍

    罗剑锋(网名Chrono)在1996年就读于东北财经大学;1997年开始接触C/C++;1998年参加计算机软件专业技术资格和水平考试,获高级程序员资质;2003年毕业于北京理工大学,获计算机专业硕士学位。主要研究方向为C/C++、设计模式、高性能网络服务器开发,业余爱好是阅读、旅游、欣赏音乐和电影。



目录:

目录

第 0 章导读  1

0.1 关于本书. 1

0.2 读者对象. 1

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 开发环境. 9

1.2.1 操作系统和编译器10

1.2.2 快捷安装10

1.2.3 完全安装10

1.2.4 定制安装11

1.2.5 编译验证11

1.3 构建工具12

1.3.1 安装方式12

1.3.2 构建脚本12

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 progress_display19

2.4.1 类摘要.20

2.4.2 用法.21

2.4.3 注意事项.22

2.5 date_time 库概述23

2.5.1 使用方式.23

2.5.2 基本概念.24

2.6 处理日期24

2.6.1 日期.25

2.6.2 创建日期对象25

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

X

2.6.3 访问日期27

2.6.4 日期的输出28

2.6.5 转换C 结构.29

2.6.6 日期长度29

2.6.7 日期运算30

2.6.8 日期区间31

2.6.9 日期区间运算33

2.6.10 日期迭代器34

2.6.11 其他功能35

2.6.12 综合运用36

2.7 处理时间38

2.7.1 时间长度39

2.7.2 操作时间长度40

2.7.3 时间精确度42

2.7.4 时间点.43

2.7.5 创建时间点对象44

2.7.6 操作时间点对象44

2.7.7 转换C 结构.45

2.7.8 时间区间46

2.7.9 时间迭代器46

2.7.10 综合运用47

2.8 date_time 库的高级议题.49

2.8.1 编译配置宏50

2.8.2 自定义字面值50

2.8.3 格式化时间51

2.8.4 本地时间51

2.9 总结53

第 3 章内存管理.55

3.1 smart_ptr 库概述.55

3.1.1 RAII 机制55

3.1.2 智能指针56

3.2 scoped_ptr 57

3.2.1 类摘要.57

3.2.2 操作函数58

3.2.3 用法.59

3.2.4 对比标准.61

3.3 shared_ptr 63

3.3.1 类摘要.63

3.3.2 操作函数.64

3.3.3 用法.65

3.3.4 工厂函数.67

3.3.5 应用于标准容器68

3.3.6 应用于桥接模式69

3.3.7 应用于工厂模式70

3.3.8 定制删除器72

3.3.9 高级议题.73

3.4 weak_ptr.76

3.4.1 类摘要.76

3.4.2 用法.77

3.4.3 对象自我管理78

3.4.4 打破循环引用79

3.5 intrusive_ptr.80

3.5.1 类摘要.80

3.5.2 用法.81

3.5.3 引用计数器82

3.6 pool 库概述.83

3.7 pool.83

3.7.1 类摘要.84

3.7.2 操作函数.84

3.7.3 用法.85

3.8 object_pool 86

3.8.1 类摘要.86

3.8.2 操作函数.86

3.8.3 用法.87

3.8.4 更多的构造参数88

3.9 singleton_pool .89

3.9.1 类摘要.89

3.9.2 用法.90

3.10 pool_alloc 91

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

XI

3.11 总结91

第 4 章实用工具.93

4.1 noncopyable.93

4.1.1 原理.94

4.1.2 用法.94

4.1.3 实现.95

4.2 ignore_unused96

4.2.1 基本用法96

4.2.2 模板用法97

4.3 optional.97

4.3.1 类摘要.98

4.3.2 操作函数99

4.3.3 用法.100

4.3.4 工厂函数101

4.4 assign102

4.4.1 list_inserter.102

4.4.2 operator+=103

4.4.3 operator () 104

4.4.4 generic_list.105

4.4.5 初始化容器106

4.4.6 重复输入108

4.4.7 操作非标准容器109

4.4.8 其他议题110

4.5 tribool .110

4.5.1 类摘要.110

4.5.2 用法.111

4.5.3 为第三态更名112

4.5.4 输入/输出113

4.5.5 其他议题113

4.6 operators.114

4.6.1 基本运算概念116

4.6.2 算术操作符116

4.6.3 基类链.118

4.6.4 复合运算概念119

4.6.5 相等与等价121

4.6.6 解引用操作符122

4.6.7 下标操作符123

4.6.8 布尔转型操作符124

4.6.9 二元操作符126

4.7 exception126

4.7.1 标准库中的异常127

4.7.2 类摘要.127

4.7.3 向异常传递信息129

4.7.4 错误信息类130

4.7.5 包装标准异常132

4.7.6 使用函数抛出异常132

4.7.7 获得更多信息133

4.7.8 高级议题.134

4.8 uuid.136

4.8.1 类摘要.136

4.8.2 用法.137

4.8.3 生成器.139

4.8.4 增强用法.141

4.8.5 转换字符串142

4.8.6 摘要算法.143

4.9 config144

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 转换对象的要求154

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

XII

5.1.5 应用于自定义类155

5.1.6 对比标准156

5.2 format .157

5.2.1 简单的例子157

5.2.2 输入操作符159

5.2.3 类摘要.160

5.2.4 格式化语法161

5.2.5 性能优化162

5.2.6 高级用法162

5.3 string_ref 164

5.3.1 类摘要.164

5.3.2 用法.166

5.4 string_algo .167

5.4.1 简单示例168

5.4.2 算法概述169

5.4.3 大小写转换169

5.4.4 判断式(算法) 170

5.4.5 判断式(函数对象) 172

5.4.6 分类.172

5.4.7 修剪.173

5.4.8 查找.174

5.4.9 替换与删除176

5.4.10 分割.177

5.4.11 合并.179

5.4.12 查找(分割)迭代器.179

5.5 xpressive.181

5.5.1 使用方式181

5.5.2 正则表达式简介182

5.5.3 类摘要.183

5.5.4 正则匹配185

5.5.5 正则查找187

5.5.6 正则替换188

5.5.7 正则迭代189

5.5.8 正则分词190

5.5.9 高级议题192

5.6 总结194

第 6 章正确性与测试197

6.1 assert.197

6.1.1 基本用法.197

6.1.2 禁用断言.198

6.1.3 扩展用法.199

6.2 static_assert .200

6.2.1 定义.201

6.2.2 用法.201

6.2.3 使用建议.203

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 测试断言.208

6.4.4 测试主体.209

6.4.5 测试实例.210

6.4.6 测试夹具.212

6.4.7 测试日志.214

6.4.8 运行参数.215

6.4.9 高级议题.216

6.5 总结219

第 7 章容器与数据结构221

7.1 array221

7.1.1 类摘要.222

7.1.2 操作函数.222

7.1.3 用法.223

7.1.4 能力限制.224

7.1.5 初始化.224

7.1.6 对比标准.225

7.2 dynamic_bitset 225

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

XIII

7.2.1 类摘要.226

7.2.2 创建与赋值227

7.2.3 容器操作228

7.2.4 基本运算229

7.2.5 访问元素230

7.2.6 类型转换231

7.2.7 集合操作232

7.2.8 综合运用233

7.3 unordered .234

7.3.1 散列集合简介234

7.3.2 散列集合的用法236

7.3.3 散列映射简介238

7.3.4 散列映射的用法239

7.3.5 高级议题241

7.4 bimap 243

7.4.1 类摘要.243

7.4.2 基本用法244

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 输入输出.261

7.6.7 连结变量.262

7.6.8 内部结构.263

7.6.9 使用访问者模式264

7.6.10 高级议题.266

7.7 any 269

7.7.1 类摘要.269

7.7.2 访问元素.270

7.7.3 用法.271

7.7.4 简化操作.271

7.7.5 保存指针.272

7.7.6 输出.273

7.7.7 高级议题.275

7.8 variant.276

7.8.1 类摘要.276

7.8.2 访问元素.277

7.8.3 用法.278

7.8.4 访问器.279

7.8.5 高级议题.281

7.9 multi_array.283

7.9.1 类摘要.284

7.9.2 用法.285

7.9.3 改变形状和大小287

7.9.4 创建子视图287

7.9.5 适配普通数组289

7.9.6 高级议题.290

7.10 property_tree .292

7.10.1 类摘要.293

7.10.2 读取配置信息294

7.10.3 写入配置信息296

7.10.4 更多用法.297

7.10.5 数据格式.298

7.10.6 高级议题.300

7.11 总结302

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

XIV

第8 章算法 .305

8.1 foreach305

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 .311

8.3.1 基本用法312

8.3.2 其他用法312

8.4 algorithm313

8.4.1 clamp .313

8.4.2 clamp_range .314

8.4.3 hex/unhex.314

8.5 总结316

第 9 章数学与数字317

9.1 math.constants .317

9.1.1 基本用法318

9.1.2 高级用法318

9.2 integer.319

9.2.1 整数特征319

9.2.2 标准整数类型320

9.2.3 整数类型模板类322

9.3 rational325

9.3.1 类摘要.326

9.3.2 创建与赋值327

9.3.3 基本运算327

9.3.4 类型转换328

9.3.5 输入输出328

9.3.6 分子与分母328

9.3.7 其他议题329

9.4 ratio.330

9.4.1 类摘要.330

9.4.2 用法.331

9.4.3 数字单位.331

9.4.4 字符串表示333

9.5 crc .333

9.5.1 类摘要.334

9.5.2 预定义的实现类334

9.5.3 用法.335

9.6 random336

9.6.1 随机数发生器336

9.6.2 随机数分布器338

9.6.3 变量发生器343

9.6.4 产生随机数据块344

9.6.5 真随机数发生器345

9.7 总结348

第 10 章操作系统相关349

10.1 system.349

10.1.1 错误值.350

10.1.2 错误类别.350

10.1.3 错误代码.352

10.1.4 错误异常.354

10.2 chrono.354

10.2.1 时间长度.355

10.2.2 使用时间长度356

10.2.3 时钟.358

10.2.4 时间点.360

10.2.5 综合运用.361

10.3 cpu_timer .363

10.3.1 时间类型.364

10.3.2 cpu_timer .364

10.3.4 auto_cpu_timer.366

10.3.5 定制输出格式367

10.4 filesystem.368

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

XV

10.4.1 类摘要.368

10.4.2 路径表示370

10.4.3 可移植的文件名372

10.4.4 路径处理372

10.4.5 异常处理375

10.4.6 文件状态376

10.4.7 文件属性377

10.4.8 文件操作378

10.4.9 迭代目录379

10.4.10 实例1.382

10.4.11 实例2.383

10.4.12 实例3.385

10.4.13 文件流操作386

10.5 program_options .387

10.5.1 概述.387

10.5.3 选项值.389

10.5.4 选项描述器391

10.5.5 选项描述器的用法392

10.5.6 分析器.394

10.5.7 存储器.395

10.5.8 位置选项值396

10.5.9 环境变量398

10.5.10 分组选项信息399

10.5.11 高级用法401

10.6 总结404

第 11 章函数与回调405

11.1 ref405

11.1.1 类摘要.406

11.1.2 基本用法407

11.1.3 工厂函数407

11.1.4 操作包装408

11.1.5 综合应用409

11.1.6 对比标准410

11.2 bind .411

11.2.1 工作原理.411

11.2.2 绑定普通函数413

11.2.3 绑定成员函数414

11.2.4 绑定成员变量415

11.2.5 绑定函数对象416

11.2.6 对比标准.416

11.2.7 高级议题.417

11.3 function 421

11.3.1 类摘要.421

11.3.2 声明形式.422

11.3.3 操作函数.423

11.3.4 用法.424

11.3.5 使用ref 库.425

11.3.6 用于回调.426

11.3.7 对比auto428

11.3.8 对比std::function.429

11.4 signals2 429

11.4.1 类摘要.430

11.4.2 操作函数.431

11.4.3 用法.432

11.4.4 返回值.434

11.4.5 合并器.434

11.4.6 管理信号连接436

11.4.7 更灵活的管理信号连接.437

11.4.8 自动管理连接439

11.4.9 应用于观察者模式441

11.4.10 高级议题444

11.5 总结449

第 12 章并发编程451

12.1 atomic.451

12.1.1 类摘要.452

12.1.2 基本用法.454

12.1.3 整数用法.455

12.1.4 并发顺序一致性456

目录

Boost 程序库完全开发指南—深入C++“准”标准库(第4 版)

XVI

12.2 thread458

12.2.1 mutex .459

12.2.2 lock_guard461

12.2.3 unique_lock 463

12.2.4 lock adapter 465

12.2.5 thread .467

12.2.6 使用线程469

12.2.7 中断线程472

12.2.8 thread_group 475

12.2.9 call_once 476

12.2.10 condition_variable 477

12.2.11 shared_mutex481

12.2.12 future483

12.2.13 shared_future 486

12.2.14 高级议题487

12.3 asio491

12.3.1 概述.491

12.3.2 信号.497

12.3.3 定时器.501

12.3.4 网络通信507

12.3.5 同步通信514

12.3.6 异步通信516

12.3.7 解析网络地址521

12.3.8 使用协程524

12.3.9 其他议题526

12.4 总结530

第 13 章组件速览533

13.1 算法533

13.2 字符串和文本处理.534

13.3 容器与数据结构.535

13.4 迭代器536

13.5 函数对象与高级编程536

13.6 泛型编程.538

13.7 模板元编程.539

13.8 预处理元编程.540

13.9 并发编程.540

13.10 数学与数字.541

13.11 输入输出.542

13.12 操作系统相关.543

13.13 语言特性模拟.543

13.14 杂项544

13.15 总结546

第 14 章设计模式547

14.1 创建型模式.548

14.2 结构型模式.549

14.3 行为模式.552

14.4 其他模式.555

14.5 总结557

第 15 章结束语559

15.1 未臻完美.559

15.2 锦上添花.560

15.3 工夫在诗外.563

15.4 临别赠言.564

附录A 推荐书目.565

附录B 标准简述.567

附录C 关键字浅谈. 571



极客时间商城店铺主页二维码
极客时间商城
为极致和美好付费
扫描二维码,访问我们的微信店铺

Boost程序库完全开发指南——深入C++"准”标准库(第4版)

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏