《Boost程序库完全开发指南:深入C++“准”标准库》罗剑峰【文字版_PDF电子书_推荐】_计算机类 (boost程序库)
《Boost程序库完全开发指南:深入C++“准”标准库》罗剑峰【文字版_PDF电子书_推荐】
内容简介:
Boost 是一个功能强大、构造精巧、跨平台、源并且完全免费的C 程序库,有着“C ‘准’标准库”的美誉。Boost 由C 标准委员会部分成员所设立的Boost 社区发并维护,使用了许多现代C 编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C 的功能和表现力,能够使C 软件发更加简捷、优雅、灵活和高效。本书基于2017 年4 月发布的Boost1.64 版,介绍了其中的所有140 余个库,并且结合C 11/14/17标准详细、深地讲解了其中数十个库,同时实现了若干颇具实用价值的工具类和函数,可帮助读者迅速地理解、掌握Boost 的用法并应用于实际的发工作。本书内容丰富、结构严谨、详略得当、讲解透彻,带领读者领略了C 的最前沿技术,相信会是每位C 程序员的必备工具书。
作者简介:
罗剑锋(网名Chrono)在1996年就读于东北财经大学;1997年始触C/C ;1998年参加计算机软件专业技术资格和水平考试,获高级程序员资质;2003年毕业于北京理工大学,获计算机专业硕士学位。主要研究方向为C/C 、设计模式、高性能网络服务器发,业余爱好是阅读、旅游、欣赏音乐和电影。
目 录:
版权页
推荐序
第4版前言
第1版前言
第0章 导读
0.1 关于本书
0.2 读者对象
0.3 术语与风格
0.4 语言标准
0.5 本书的结构
0.6 如何阅读本书
0.7 本书的源码
第1章 总论
1.1 简介
1.1.1 获取方式
1.1.2 目录结构
1.1.3 使用方式
1.2 开发环境
1.2.1 操作系统和编译器
1.2.2 快捷安装
1.2.3 完全安装
1.2.4 定制安装
1.2.5 编译验证
1.3 构建工具
1.3.1 安装方式
1.3.2 构建脚本
1.3.3 构建语言
1.3.4 构建命令
1.4 总结
第2章 时间与日期
2.1 timer库概述
2.2 timer
2.2.1 用法
2.2.2 类摘要
2.2.3 使用建议
2.3 progress_timer
2.3.1 用法
2.3.2 类摘要
2.4 progress_display
2.4.1 类摘要
2.4.2 用法
2.4.3 注意事项
2.5 date_time库概述
2.5.1 使用方式
2.5.2 基本概念
2.6 处理日期
2.6.1 日期
2.6.2 创建日期对象
2.6.3 访问日期
2.6.4 日期的输出
2.6.5 转换C结构
2.6.6 日期长度
2.6.7 日期运算
2.6.8 日期区间
2.6.9 日期区间运算
2.6.10 日期迭代器
2.6.11 其他功能
2.6.12 综合运用
2.7 处理时间
2.7.1 时间长度
2.7.2 操作时间长度
2.7.3 时间精确度
2.7.4 时间点
2.7.5 创建时间点对象
2.7.6 操作时间点对象
2.7.7 转换C结构
2.7.8 时间区间
2.7.9 时间迭代器
2.7.10 综合运用
2.8 date_time库的高级议题
2.8.1 编译配置宏
2.8.2 自定义字面值
2.8.3 格式化时间
2.8.4 本地时间
2.9 总结
第3章 内存管理
3.1 smart_ptr库概述
3.1.1 RAII机制
3.1.2 智能指针
3.2 scoped_ptr
3.2.1 类摘要
3.2.2 操作函数
3.2.3 用法
3.2.4 对比标准
3.3 shared_ptr
3.3.1 类摘要
3.3.2 操作函数
3.3.3 用法
3.3.4 工厂函数
3.3.5 应用于标准容器
3.3.6 应用于桥接模式
3.3.7 应用于工厂模式
3.3.8 定制删除器
3.3.9 高级议题
3.4 weak_ptr
3.4.1 类摘要
3.4.2 用法
3.4.3 对象自我管理
3.4.4 打破循环引用
3.5 intrusive_ptr
3.5.1 类摘要
3.5.2 用法
3.5.3 引用计数器
3.6 pool库概述
3.7 pool
3.7.1 类摘要
3.7.2 操作函数
3.7.3 用法
3.8 object_pool
3.8.1 类摘要
3.8.2 操作函数
3.8.3 用法
3.8.4 更多的构造参数
3.9 singleton_pool
3.9.1 类摘要
3.9.2 用法
3.10 pool_alloc
3.11 总结
第4章 实用工具
4.1 noncopyable
4.1.1 原理
4.1.2 用法
4.1.3 实现
4.2 ignore_unused
4.2.1 基本用法
4.2.2 模板用法
4.3 optional
4.3.1 类摘要
4.3.2 操作函数
4.3.3 用法
4.3.4 工厂函数
4.4 assign
4.4.1 list_inserter
4.4.2 operator+=
4.4.3 operator ()
4.4.4 generic_list
4.4.5 初始化容器
4.4.6 重复输入
4.4.7 操作非标准容器
4.4.8 其他议题
4.5 tribool
4.5.1 类摘要
4.5.2 用法
4.5.3 为第三态更名
4.5.4 输入/输出
4.5.5 其他议题
4.6 operators
4.6.1 基本运算概念
4.6.2 算术操作符
4.6.3 基类链
4.6.4 复合运算概念
4.6.5 相等与等价
4.6.6 解引用操作符
4.6.7 下标操作符
4.6.8 布尔转型操作符
4.6.9 二元操作符
4.7 exception
4.7.1 标准库中的异常
4.7.2 类摘要
4.7.3 向异常传递信息
4.7.4 错误信息类
4.7.5 包装标准异常
4.7.6 使用函数抛出异常
4.7.7 获得更多信息
4.7.8 高级议题
4.8 uuid
4.8.1 类摘要
4.8.2 用法
4.8.3 生成器
4.8.4 增强用法
4.8.5 转换字符串
4.8.6 摘要算法
4.9 config
4.9.1 编译期字符串化
4.9.2 静态整型常量
4.10 utility
4.10.1 二进制常量
4.10.2 调用函数名
4.11 总结
第5章 字符串与文本处理
5.1 lexical_cast
5.1.1 函数声明
5.1.2 用法
5.1.3 错误处理
5.1.4 转换对象的要求
5.1.5 应用于自定义类
5.1.6 对比标准
5.2 format
5.2.1 简单的例子
5.2.2 输入操作符
5.2.3 类摘要
5.2.4 格式化语法
5.2.5 性能优化
5.2.6 高级用法
5.3 string_ref
5.3.1 类摘要
5.3.2 用法
5.4 string_algo
5.4.1 简单示例
5.4.2 算法概述
5.4.3 大小写转换
5.4.4 判断式(算法)
5.4.5 判断式(函数对象)
5.4.6 分类
5.4.7 修剪
5.4.8 查找
5.4.9 替换与删除
5.4.10 分割
5.4.11 合并
5.4.12 查找(分割)迭代器
5.5 xpressive
5.5.1 使用方式
5.5.2 正则表达式简介
5.5.3 类摘要
5.5.4 正则匹配
5.5.5 正则查找
5.5.6 正则替换
5.5.7 正则迭代
5.5.8 正则分词
5.5.9 高级议题
5.6 总结
第6章 正确性与测试
6.1 assert
6.1.1 基本用法
6.1.2 禁用断言
6.1.3 扩展用法
6.2 static_assert
6.2.1 定义
6.2.2 用法
6.2.3 使用建议
6.3 lightweight_test
6.3.1 测试断言
6.3.2 用法
6.3.3 测试元编程
6.4 test
6.4.1 最小化测试
6.4.2 单元测试框架
6.4.3 测试断言
6.4.4 测试主体
6.4.5 测试实例
6.4.6 测试夹具
6.4.7 测试日志
6.4.8 运行参数
6.4.9 高级议题
6.5 总结
第7章 容器与数据结构
7.1 array
7.1.1 类摘要
7.1.2 操作函数
7.1.3 用法
7.1.4 能力限制
7.1.5 初始化
7.1.6 对比标准
7.2 dynamic_bitset
7.2.1 类摘要
7.2.2 创建与赋值
7.2.3 容器操作
7.2.4 基本运算
7.2.5 访问元素
7.2.6 类型转换
7.2.7 集合操作
7.2.8 综合运用
7.3 unordered
7.3.1 散列集合简介
7.3.2 散列集合的用法
7.3.3 散列映射简介
7.3.4 散列映射的用法
7.3.5 高级议题
7.4 bimap
7.4.1 类摘要
7.4.2 基本用法
7.4.3 值的集合类型
7.4.4 集合类型的用法
7.4.5 使用标签类型
7.4.6 使用assign库
7.4.7 查找与替换
7.4.8 投射
7.4.9 高级议题
7.5 circular_buffer
7.5.1 类摘要
7.5.2 用法
7.5.3 环形结构
7.5.4 空间优化
7.6 tuple
7.6.1 二元组
7.6.2 类摘要
7.6.3 创建与赋值
7.6.4 访问元素
7.6.5 比较操作
7.6.6 输入输出
7.6.7 连结变量
7.6.8 内部结构
7.6.9 使用访问者模式
7.6.10 高级议题
7.7 any
7.7.1 类摘要
7.7.2 访问元素
7.7.3 用法
7.7.4 简化操作
7.7.5 保存指针
7.7.6 输出
7.7.7 高级议题
7.8 variant
7.8.1 类摘要
7.8.2 访问元素
7.8.3 用法
7.8.4 访问器
7.8.5 高级议题
7.9 multi_array
7.9.1 类摘要
7.9.2 用法
7.9.3 改变形状和大小
7.9.4 创建子视图
7.9.5 适配普通数组
7.9.6 高级议题
7.10 property_tree
7.10.1 类摘要
7.10.2 读取配置信息
7.10.3 写入配置信息
7.10.4 更多用法
7.10.5 数据格式
7.10.6 高级议题
7.11 总结
第8章 算法
8.1 foreach
8.1.1 用法
8.1.2 详细解说
8.1.3 更优雅的名字
8.1.4 支持的序列类型
8.1.5 存在的问题
8.2 minmax
8.2.1 用法
8.2.2 存在的问题
8.3 minmax_element
8.3.1 基本用法
8.3.2 其他用法
8.4 algorithm
8.4.1 clamp
8.4.2 clamp_range
8.4.3 hex/unhex
8.5 总结
第9章 数学与数字
9.1 math.constants
9.1.1 基本用法
9.1.2 高级用法
9.2 integer
9.2.1 整数特征
9.2.2 标准整数类型
9.2.3 整数类型模板类
9.3 rational
9.3.1 类摘要
9.3.2 创建与赋值
9.3.3 基本运算
9.3.4 类型转换
9.3.5 输入输出
9.3.6 分子与分母
9.3.7 其他议题
9.4 ratio
9.4.1 类摘要
9.4.2 用法
9.4.3 数字单位
9.4.4 字符串表示
9.5 crc
9.5.1 类摘要
9.5.2 预定义的实现类
9.5.3 用法
9.6 random
9.6.1 随机数发生器
9.6.2 随机数分布器
9.6.3 变量发生器
9.6.4 产生随机数据块
9.6.5 真随机数发生器
9.7 总结
第10章 操作系统相关
10.1 system
10.1.1 错误值
10.1.2 错误类别
10.1.3 错误代码
10.1.4 错误异常
10.2 chrono
10.2.1 时间长度
10.2.2 使用时间长度
10.2.3 时钟
10.2.4 时间点
10.2.5 综合运用
10.3 cpu_timer
10.3.1 时间类型
10.3.2 cpu_timer
10.3.3 auto_cpu_timer
10.3.4 定制输出格式
10.4 filesystem
10.4.1 类摘要
10.4.2 路径表示
10.4.3 可移植的文件名
10.4.4 路径处理
10.4.5 异常处理
10.4.6 文件状态
10.4.7 文件属性
10.4.8 文件操作
10.4.9 迭代目录
10.4.10 实例1
10.4.11 实例2
10.4.12 实例3
10.4.13 文件流操作
10.5 program_options
10.5.1 概述
10.5.2 选项值
10.5.3 选项描述器
10.5.4 选项描述器的用法
10.5.5 分析器
10.5.6 存储器
10.5.7 位置选项值
10.5.8 环境变量
10.5.9 分组选项信息
10.5.10 高级用法
10.6 总结
第11章 函数与回调
11.1 ref
11.1.1 类摘要
11.1.2 基本用法
11.1.3 工厂函数
11.1.4 操作包装
11.1.5 综合应用
11.1.6 对比标准
11.2 bind
11.2.1 工作原理
11.2.2 绑定普通函数
11.2.3 绑定成员函数
11.2.4 绑定成员变量
11.2.5 绑定函数对象
11.2.6 对比标准
11.2.7 高级议题
11.3 function
11.3.1 类摘要
11.3.2 声明形式
11.3.3 操作函数
11.3.4 用法
11.3.5 使用ref库
11.3.6 用于回调
11.3.7 对比auto
11.3.8 对比std::function
11.4 signals2
11.4.1 类摘要
11.4.2 操作函数
11.4.3 用法
11.4.4 返回值
11.4.5 合并器
11.4.6 管理信号连接
11.4.7 更灵活的管理信号连接
11.4.8 自动管理连接
11.4.9 应用于观察者模式
11.4.10 高级议题
11.5 总结
第12章 并发编程
12.1 atomic
12.1.1 类摘要
12.1.2 基本用法
12.1.3 整数用法
12.1.4 并发顺序一致性
12.2 thread
12.2.1 mutex
12.2.2 lock_guard
12.2.3 unique_lock
12.2.4 lock adapter
12.2.5 thread
12.2.6 使用线程
12.2.7 中断线程
12.2.8 thread_group
12.2.9 call_once
12.2.10 condition_variable
12.2.11 shared_mutex
12.2.12 future
12.2.13 shared_future
12.2.14 高级议题
12.3 asio
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.3 容器与数据结构
13.4 迭代器
13.5 函数对象与高级编程
13.6 泛型编程
13.7 模板元编程
13.8 预处理元编程
13.9 并发编程
13.10 数学与数字
13.11 输入输出
13.12 操作系统相关
13.13 语言特性模拟
13.14 杂项
13.15 总结
第14章 设计模式
14.1 创建型模式
14.2 结构型模式
14.3 行为模式
14.4 其他模式
14.5 总结
第15章 结束语
15.1 未臻完美
15.2 锦上添花
15.3 工夫在诗外
15.4 临别赠言
附录A 推荐书目
附录B 标准简述
附录C 关键字浅谈
《Boost程序库完全开发指南:深入C++“准”标准库》罗剑峰【文字版_PDF电子书_下载】大小:5.02MB已经过安全软件检测无毒,请您放心下载。浏览器不支持脚本!购买本书:当当图书商城 | | 淘宝购书
有需要联系v;hx-hx4
摘要:《Boost程序库完全开发指南:深入C++“准”标准库》是一本计算机类电子书,作者罗剑峰。本书详细介绍了Boost程序库的开发和使用,以及深入C++“准”标准库的相关知识。通过阅读本书,读者可以全面了解Boost程序库的特性和用法,提高自己在C++编程中的技能。
1、Boost程序库的介绍
Boost程序库是C++开发中常用的一个工具集,它提供了许多高效、可扩展的组件和函数,可以帮助开发者提高代码的质量和效率。本书首先对Boost程序库进行了全面的介绍,包括其基本概念、使用方法、常用组件等。通过学习本章内容,读者可以快速上手使用Boost程序库,并了解其在实际项目中的应用场景。
接下来,本书详细介绍了Boost程序库中一些常用组件的使用方法,包括智能指针、线程、正则表达式等。通过对这些实用组件的学习和实践,读者可以掌握Boost程序库的核心功能,并将其应用到自己的项目中。
此外,本书还介绍了Boost程序库的扩展机制和社区,读者可以通过参与Boost社区的讨论和贡献来进一步了解和使用Boost程序库。
2、深入C++“准”标准库
C++标准库是C++编程中非常重要的一部分,本书通过深入C++“准”标准库的介绍,帮助读者更好地理解和使用C++标准库的各种功能。本章首先对C++标准库进行了概述,包括其组成、命名空间、头文件等。然后,本书详细介绍了C++标准库中常用的容器、算法、迭代器等内容,通过示例代码和实践案例,帮助读者掌握C++标准库的使用技巧。
此外,本书还介绍了C++标准库中的异常处理、IO流、多线程等高级特性,这些内容对于提高代码的可靠性、可读性和性能有着重要的作用。通过深入学习C++标准库的这些高级特性,读者可以编写更加高效、健壮的C++程序。
3、高效的Boost程序库和C++标准库的结合
本书还介绍了如何将Boost程序库和C++标准库结合起来使用,以实现更高效的开发。作者通过实际案例,演示了使用Boost程序库和C++标准库解决常见问题的方法和技巧。例如,如何利用Boost程序库中的智能指针和C++标准库中的容器来管理内存,如何使用Boost程序库中的线程和C++标准库中的多线程实现并发编程等。
通过学习本章内容,读者可以进一步提高自己在Boost程序库和C++标准库的使用水平,使自己的代码更加高效、可扩展和可维护。
4、总结归纳
通过阅读《Boost程序库完全开发指南:深入C++“准”标准库》,读者可以全面了解Boost程序库的开发和使用,以及深入C++“准”标准库的相关知识。本书详细介绍了Boost程序库的特性和用法,以及与C++标准库的结合。通过学习本书,读者可以提高自己在C++编程中的技能,编写更加高效、可扩展的代码。
本文由nayona.cn整理
本文采摘于网络,不代表本站立场,转载联系作者并注明出处: https://sm.nayona.cn/xinnengyuan/258838.html