Boost程序库探秘
✍ Scribed by 罗剑锋
- Publisher
- 清华大学出版社
- Year
- 2016
- Tongue
- Chinese
- Leaves
- 498
- Edition
- 3
- Category
- Library
No coin nor oath required. For personal study only.
✦ Table of Contents
封面
书名
版权
目录
第0章 导读
0.1 关于本书
0.2 读者对象
0.3 C++标准
0.4 开发环境
0.5 代码风格
0.6 本书的结构
0.7 如何阅读本书
0.8 本书的源码
第1章 全新的C++语言
1.1 概述
1.2 左值与右值
1.2.1 定义
1.2.2 右值引用
1.2.3 转移语义
1.2.4 完美转发
1.3 自动类型推导
1.3.1 auto
1.3.2 decltype
1.3.3 decltype(auto)
1.4 面向过程编程
1.4.1 空指针
1.4.2 初始化
1.4.3 新式for循环
1.4.4 新式函数声明
1.5 面向对象编程
1.5.1 default
1.5.2 delete
1.5.3 override
1.5.4 final
1.5.5 成员初始化
1.5.6 委托构造
1.6 泛型编程
1.6.1 类型别名
1.6.2 编译期常量
1.6.3 静态断言
1.6.4 可变参数模板
1.7 函数式编程
1.7.1 lambda表达式
1.7.2 捕获外部变量
1.7.3 类型转换
1.7.4 泛型的lambda表达式
1.8 并发编程
1.9 面向安全编程
1.9.1 无异常保证
1.9.2 内联名字空间
1.9.3 强类型枚举
1.9.4 属性
1.10 更多特性
1.10.1 语言版本号
1.10.2 超长整型
1.10.3 原始字符串
1.10.4 自定义字面值
1.10.5 杂项
1.11 总结
第2章 模板元编程简介
2.1 概述
2.2 语法元素
2.3 元数据
2.4 元函数
2.5 元函数转发
2.6 易用的工具宏
2.7 应用示例
2.8 总结
第3章 类型特征萃取
3.1 概述
3.2 元数据类别
3.2.1 基本类别
3.2.2 复合类别
3.3 元数据属性
3.3.1 基本属性
3.3.2 类相关属性
3.3.3 操作符重载属性
3.4 元数据关系
3.5 元数据运算
3.5.1 基本运算
3.5.2 特殊运算
3.6 解析函数元数据
3.7 实现原理
3.7.1 integral_constant
3.7.2 is_integral
3.8 应用示例
3.8.1 conditional
3.8.2 identity_type
3.8.3 declval
3.9 总结
第4章 实用工具
4.1 compressed_pair
4.1.1 空类
4.1.2 类摘要
4.1.3 构造与赋值
4.1.4 用法
4.1.5 实现原理
4.1.6 功能扩展
4.2 checked_delete
4.2.1 函数的用法
4.2.2 函数对象的用法
4.2.3 带检查的删除
4.2.4 实现原理
4.2.5 使用建议
4.3 addressof
4.3.1 用法
4.3.2 实现原理
4.3.3 使用建议
4.4 base_from_member
4.4.1 类摘要
4.4.2 用法
4.4.3 进一步的用法
4.5 conversion
4.5.1 标准转型操作符
4.5.2 多态对象的转型
4.5.3 polymorphic_downcast
4.5.4 polymorphic_cast
4.5.5 对引用转型
4.6 numeric conversion
4.6.1 bounds
4.6.2 numeric_cast
4.7 pointer
4.7.1 get_pointer
4.7.2 pointer_cast
4.7.3 pointee
4.7.4 indirect_reference
4.7.5 pointer_to_other
4.7.6 compare_pointees
4.7.7 pointer_traits
4.8 总结
第5章 迭代器
5.1 概述
5.1.1 迭代器模式
5.1.2 标准迭代器
5.1.3 新式迭代器
5.1.4 标准迭代器工具
5.1.5 迭代器与算法
5.2 next_prior
5.2.1 函数声明
5.2.2 用法
5.2.3 C++11/14标准
5.3 iterator_traits
5.3.1 标准迭代器特征类
5.3.2 类摘要
5.3.3 用法
5.4 iterator_facade
5.4.1 迭代器的核心操作
5.4.2 类摘要
5.4.3 用法
5.5 iterator_adaptor
5.5.1 类摘要
5.5.2 用法
5.6 迭代器工具
5.6.1 共享容器迭代器
5.6.2 发生器迭代器
5.6.3 逆向迭代器
5.6.4 间接迭代器
5.6.5 计数迭代器
5.6.6 函数输入迭代器
5.6.7 函数输出迭代器
5.6.8 过滤迭代器
5.6.9 转换迭代器
5.6.10 索引迭代器
5.6.11 组合迭代器
5.7 总结
第6章 区间
6.1 概述
6.2 特征元函数
6.3 操作函数
6.4 标准算法
6.4.1 返回原区间的算法
6.4.2 返回定制区间的算法
6.5 迭代器区间类
6.5.1 类摘要
6.5.2 用法
6.6 辅助工具
6.6.1 sub_range
6.6.2 counting_range
6.6.3 istream_range
6.6.4 irange
6.6.5 combined_range
6.6.6 any_range
6.7 适配器
6.7.1 适配器列表
6.7.2 用法
6.7.3 实现原理
6.8 其他议题
6.8.1 自定义区间类型
6.7.2 连接区间
6.9 总结
第7章 函数对象
7.1 hash
7.1.1 类摘要
7.1.2 用法
7.1.3 实现原理
7.1.4 扩展hash
7.2 mem_fn
7.2.1 工作原理
7.2.2 用法
7.2.3 其他议题
7.3 factory
7.3.1 类摘要
7.3.2 用法
7.3.3 value_factory
7.4 总结
第8章 指针容器
8.1 概述
8.1.1 入门示例
8.1.2 指针容器的优缺点
8.1.3 可克隆概念
8.1.4 克隆分配器
8.1.5 指针容器的分类
8.2 指针容器的共通功能
8.2.1 模板参数
8.2.2 构造与赋值
8.2.3 访问元素
8.2.4 其他功能
8.3 序列指针容器适配器
8.3.1 配置元函数
8.3.2 类摘要
8.3.3 接口解说
8.3.4 代码示例
8.4 ptr_vector
8.4.1 类摘要
8.4.2 用法
8.5 空指针处理
8.5.1 禁用空指针
8.5.2 使用空指针
8.5.3 空对象模式
8.6 关联指针容器的共通功能
8.6.1 类摘要
8.6.2 接口解说
8.7 集合指针容器适配器
8.7.1 配置元函数
8.7.2 ptr_set_adapter
8.8 ptr_set
8.8.1 类摘要
8.8.2 用法
8.9 ptr_unordered_set
8.9.1 类摘要
8.9.2 用法
8.10 映射指针容器适配器
8.10.1 配置元函数
8.10.2 ptr_map_adapter
8.11 ptr_map
8.11.1 类摘要
8.11.2 用法
8.12 ptr_unordered_map
8.12.1 类摘要
8.12.2 用法
8.13 使用assign库
8.13.1 向容器添加元素
8.13.2 初始化容器元素
8.14 使用算法
8.14.1 标准算法
8.14.2 序列指针容器的算法
8.14.3 关联指针容器的算法
8.15 其他议题
8.15.1 异常
8.15.2 间接函数对象
8.15.3 插入迭代器
8.15.4 使用视图分配器
8.15.5 可克隆性的再讨论
8.16 总结
第9章 侵入式容器
9.1 概述
9.1.1 手工实现链表
9.1.2 intrusive库介绍
9.2 入门示例
9.2.1 使用基类挂钩
9.2.2 使用成员挂钩
9.3 基本概念
9.3.1 节点
9.3.2 节点特征
9.3.3 节点算法
9.3.4 值特征
9.3.5 挂钩
9.3.6 选项
9.3.7 处置器
9.3.8 克隆
9.4 链表
9.4.1 节点和算法
9.4.2 基类挂钩
9.4.3 成员挂钩
9.4.4 类摘要
9.4.5 基本用法
9.4.6 特有用法
9.5 有序集合
9.5.1 节点和算法
9.5.2 基类挂钩
9.5.3 成员挂钩
9.5.4 set类摘要
9.5.5 基本用法
9.5.6 特有用法
9.6 无序集合
9.6.1 节点和算法
9.6.2 基类挂钩
9.6.3 成员挂钩
9.6.4 类摘要
9.6.5 基本用法
9.6.6 unordered_set的特有用法
9.7 其他议题
9.7.1 链接模式
9.7.2 同时使用多个挂钩
9.7.3 万能挂钩
9.8 总结
第10章 多索引容器
10.1 概述
10.2 入门示例
10.2.1 简单的例子
10.2.2 复杂的例子
10.2.3 更复杂的例子
10.3 基本概念
10.3.1 索引
10.3.2 索引说明
10.3.3 键提取器
10.3.4 索引说明列表
10.3.5 索引标签
10.3.6 多索引容器
10.4 键提取器
10.4.1 定义
10.4.2 identity
10.4.3 member
10.4.4 const_mem_fun
10.4.5 mem_fun
10.4.6 global_fun
10.4.7 自定义键提取器
10.5 序列索引
10.5.1 索引说明
10.5.2 类摘要
10.5.3 用法
10.6 随机访问索引
10.6.1 索引说明
10.6.2 类摘要
10.6.3 用法
10.7 有序索引
10.7.1 索引说明
10.7.2 类摘要
10.7.3 基本用法
10.7.4 高级用法
10.8 散列索引
10.8.1 索引说明
10.8.2 类摘要
10.8.3 用法
10.9 修改元素
10.9.1 替换元素
10.9.2 修改元素
10.9.3 修改键
10.10 多索引容器
10.10.1 类摘要
10.10.2 用法
10.11 组合索引键
10.11.1 类摘要
10.11.2 用法
10.11.3 辅助工具
10.12 总结
第11章 流处理
11.1 概述
11.1.1 标准库的流处理
11.1.2 Boost的流处理
11.2 入门示例
11.2.1 示例1
11.2.2 示例2
11.3 设备的特征
11.3.1 设备的字符类型
11.3.2 设备的模式
11.3.3 设备的分类
11.4 设备
11.4.1 概述
11.4.2 数组设备
11.4.3 标准容器设备
11.4.4 文件设备
11.4.5 空设备
11.5 过滤器
11.5.1 概述
11.5.2 设备链和管道
11.5.3 计数过滤器
11.5.4 换行过滤器
11.5.5 正则表达式过滤器(Ⅰ)
11.5.6 正则表达式过滤器(Ⅱ)
11.5.7 压缩过滤器
11.6 流
11.6.1 基本流
11.6.2 过滤流
11.7 流处理函数
11.8 定制设备
11.8.1 定制源设备
11.8.2 定制接收设备
11.9 定制过滤器
11.9.1 过滤器的实现原理
11.9.2 aggregate_filter
11.9.3 basic_line_filter
11.9.4 手工打造过滤器
11.10 组合设备
11.10.1 combine
11.10.2 compose
11.10.3 invert
11.10.4 restrict
11.10.5 tee
11.11 其他议题
11.11.1 对象的生存周期
11.11.2 与迭代器的比较
11.12 总结
第12章 泛型编程
12.1 enable_if
12.1.1 类摘要
12.1.2 应用于模板函数
12.1.3 应用于模板类
12.1.4 对比C++11标准
12.2 call_traits
12.2.1 类摘要
12.2.2 用法
12.2.3 实现原理
12.3 concept_check
12.3.1 概述
12.3.2 基本概念检查
12.3.3 函数对象概念检查
12.3.4 标准迭代器概念检查
12.3.5 新式迭代器概念检查
12.3.6 容器概念检查
12.3.7 区间概念检查
12.3.8 在函数声明中的概念检查
12.3.9 概念原型类
12.4 总结
第13章 模板元编程
13.1 概述
13.2 整数类型
13.2.1 简介
13.2.2 整数类型
13.2.3 bool类型
13.2.4 基本运算
13.3 流程控制
13.3.1 if_和if_c
13.3.2 eval_if和eval_if_c
13.4 容器
13.4.1 简介
13.4.2 vector
13.4.3 string
13.4.4 map
13.4.5 相关元函数
13.5 迭代器
13.5.1 简介
13.5.2 相关元函数
13.6 算法
13.6.1 插入器
13.6.2 查询算法
13.6.3 变换算法
13.6.4 运行时算法
13.7 高级用法
13.7.1 高阶元数据
13.7.2 占位符
13.7.3 bind表达式
13.7.4 lambda表达式
13.7.5 算法的高级应用
13.8 断言
13.8.1 基本断言
13.8.2 否定断言
13.8.3 关系断言
13.8.4 定制消息的断言
13.9 实例研究
13.9.1 泛型编程版本
13.9.2 元编程第1版
13.9.3 元编程第2版
13.10 总结
第14章 预处理元编程
14.1 概述
14.1.1 元数据
14.1.2 基本语法
14.1.3 特殊符号
14.1.4 特殊操作符
14.2 整数运算
14.3 常用元函数
14.3.1 ASSERT
14.3.2 IF
14.3.3 ENUM
14.3.4 REPEAT
14.4 高级数据结构
14.5 总结
第15章 现代C++开发浅谈
15.1 基本原则
15.2 内存管理
15.3 容器、迭代器和算法
15.4 其他
15.5 结束语
附录A 推荐书目
附录B Boost程序库组件索引
附录C Boost程序库安装简介
封底
📜 SIMILAR VOLUMES
Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。 Boost由C++标准委员会部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简捷、优雅、灵活和高效。 本书基于2012年8月发布的Boost1.51版,介绍了其中的所有117个库,并且结合C++11标准详细、深入地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速
<p>Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。</p> <p>Boost由C++标准委员会的部分成员所设立的Boost社区开发并维护,使用了许多现代C++编程技术,其内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简捷、灵活和高效。</p> <p>本书基于2019年12月发布的Boost 1.72版编写,介绍了其中所有的160余个库,并且结合C++11/14/17标准详细、深入地讲解了其中的数十个库,同时实现
书签已装载, 书签制作方法请找 [email protected] 完全免费 (若有印刷不清等问题也请发送相关邮件,会尽快更新的) <p>本书详尽介绍了与人类关系最密</p> <p>切的三颗星星――太阳、地球、月亮</p> <p>的形成、构造、形状以及运行规律;通</p> <p>过“日心说”对“地心说”的否定,展</p> <p>现了作为科学的天文学与宗教神权的</p> <p>斗争。本书最引人入胜的是,针对二</p> <p>十世纪末谣传“恐怖大王从天而降”</p> <p>的歪理邪说引起的人们内心之恐慌,</p> <p>揭示了许多人类一直关心的宇宙之<