由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版]套装2本C++ Primer中文版(第5版)+Redis 深度历险:核心原理与应用实践
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
Redis 深度历险:核心原理与应用实践 | ||
定价 | 79.00 | |
出版社 | 电子工业出版社 | |
版次 | 1 | |
出版时间 | 2018年12月 | |
开本 | 16开 | |
作者 | 钱文品 | |
装帧 | 平装-胶订 | |
页数 | 248 | |
字数 | 276700 | |
ISBN编码 | 9787121350474 |
C++ Primer中文版(第5版) | ||
定价 | 128.00 | |
出版社 | 电子工业出版社 | |
版次 | 5 | |
出版时间 | 2013年09月 | |
开本 | 16开 | |
作者 | Stanley B. Lippman | |
装帧 | 平装 | |
页数 | 838 | |
字数 | 1521000 | |
ISBN编码 | 9787121155352 |
Redis 是互联网技术领域使用*为广泛的存储中间件,以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网公司都在使用 Redis,比如 Twitter、暴雪娱乐、Github、StackOverflow、腾讯、阿里、*、华为、新浪微博等,很多中小型公司也都有应用。也可以说,对 Redis 的了解和应用实践已成为当下中高级后端开发者绕不开的 备技能。本书在内容结构上分为 Redis 基础应用、原理、集 、拓展学习和源码分析 5大块。 Redis 基础应用:占据篇幅*长,这也是对读者*有价值的内容,可以直接应用到实际工作中。 原理和集 版块:适合对技术有着 追求的开发者,他们希望透过简单的技术表面看到精致的底层世界。 拓展学习版块:作为*核心内容之外的补充部分,主要用于进一步扩展技术视野或者夯实基础,便于进阶学习,作者会尽可能的在拓展篇持续扩充更多知识点。 源码分析版块:主要满足高阶用户深入探索 Redis 内部实现的强烈渴望,这类读者坚信读懂源码才是技术实力的真正体现。
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的*进展和当前的业界*实践。书中不但新增大量教学辅助内容,还包含大量来自实战的示例和习题。本版为*版本。
dy 篇 基础和应用篇 / 1
1.1 授人以鱼不如授人以渔 / 1
1.1.1 由 Redis 面试想到的 / 1
1.1.2 本书的内容范围 / 2
1.1.3 Redis 可以做什么 / 3
1.1.4 小结 / 3
1.1.5 扩展阅读 / 4
1.2 万丈高楼平地起——Redis 基础数据结构 / 4
1.2.1 Redis 的安装 / 5
1.2.2 5 种基础数据结构 / 6
1.2.3 容器型数据结构的通用规则 / 17
1.2.4 过期时间 / 17
1.2.5 思考&作业 / 17
1.3 千帆竞发——分布式锁 / 18
1.3.1 分布式锁的奥义 / 18
1.3.2 超时问题 / 20
1.3.3 可重入性 / 21
1.3.4 思考&作业 / 24
1.4 缓兵之计——延时队列 / 24
1.4.1 异步消息队列 / 24
1.4.2 队列空了怎么办 / 26
1.4.3 阻塞读 / 26
1.4.4 空闲连接自动断开 / 26
1.4.5 锁冲突处理 / 27
1.4.6 延时队列的实现 / 27
1.4.7 进一步优化 / 30
1.4.8 思考&作业 / 31
1.5 节衣缩食——位图 / 31
1.5.1 基本用法 / 31
1.5.2 统计和查找 / 34
1.5.3 魔术指令 bitfield / 35
1.5.4 思考&作业 / 38
1.6 四两拨千斤——HyperLogLog / 38
1.6.1 使用方法 / 39
1.6.2 pfadd 中的 pf 是什么意思 / 41
1.6.3 pfmerge 适合的场合 / 42
1.6.4 注意事项 / 42
1.6.5 HyperLogLog 实现原理 / 42
1.6.6 pf 的内存占用为什么是 12KB / 49
1.6.7 思考&作业 / 50
1.7 层峦叠嶂——布隆过滤器 / 50
1.7.1 布隆过滤器是什么 / 51
1.7.2 Redis 中的布隆过滤器 / 51
1.7.3 布隆过滤器的基本用法 / 52
1.7.4 注意事项 / 59
1.7.5 布隆过滤器的原理 / 60
1.7.6 空间占用估计 / 61
1.7.7 实际元素超出时,误判率会怎样变化 / 62
1.7.8 用不上 Redis 4.0 怎么办 / 63
1.7.9 布隆过滤器的其他应用 / 63
1.8 断尾求生——简单限流 / 64
1.8.1 如何使用 Redis 来实现简单限流策略 / 64
1.8.2 解决方案 / 65
1.8.3 小结 / 67
1.9 一毛不拔——漏斗限流 / 68
1.9.1 Redis-Cell / 71
1.9.2 思考&作业 / 72
1.9.3 扩展阅读:Redis-Cell 作者介绍 / 72
1.10 近水楼台——GeoHash / 73
1.10.1 用数据库来算附近的人 / 73
1.10.2 GeoHash 算法 / 74
1.10.3 Geo 指令的基本用法 / 75
1.10.4 注意事项 / 78
1.11 大海捞针——scan / 79
1.11.1 scan 基本用法 / 80
1.11.2 字典的结构 / 82
1.11.3 scan 遍历顺序 / 82
1.11.4 字典扩容 / 83
1.11.5 对比扩容、缩容前后的遍历顺序 / 84
1.11.6 渐进式 rehash / 85
1.11.7 更多的 scan 指令 / 85
1.11.8 大 key 扫描 / 85
第2 篇 原理篇 / 87
2.1 鞭辟入里——线程 IO 模型 / 87
2.1.1 非阻塞 IO / 87
2.1.2 事件轮询 (多路复用) / 88
2.1.3 指令队列 / 90
2.1.4 响应队列 / 90
2.1.5 定时任务 / 90
2.1.6 扩展阅读 / 90
2.2 交头接耳——通信协议 / 90
2.2.1 RESP / 91
2.2.2 客户端→服务器 / 92
2.2.3 服务器→客户端 / 92
2.2.4 小结 / 95
2.2.5 扩展阅读 / 95
2.3 未雨绸缪——持久化 / 95
2.3.1 快照原理 / 96
2.3.2 fork(多进程) / 96
2.3.3 AOF 原理 / 97
2.3.4 AOF 重写 / 98
2.3.5 fsync / 98
2.3.6 运维 / 98
2.3.7 Redis 4.0 混合持久化 / 99
2.3.8 思考&作业 / 100
2.4 雷厉风行——管道 / 100
2.4.1 Redis 的消息交互 / 100
2.4.2 管道压力测试 / 101
2.4.3 深入理解管道本质 / 102
2.4.4 小结 / 104
2.5 同舟共济——事务 / 104
2.5.1 Redis 事务的基本用法 / 104
2.5.2 原子性 / 105
2.5.3 discard(丢弃) / 106
2.5.4 优化 / 106
2.5.5 watch / 107
2.5.6 注意事项 / 108
2.5.7 思考&作业 / 110
2.6 小道消息——PubSub / 110
2.6.1 消息多播 / 110
2.6.2 PubSub / 111
2.6.3 模式订阅 / 113
2.6.4 消息结构 / 114
2.6.5 PubSub 的缺点 / 115
2.6.6 补充 / 115
2.7 开源节流——小对象压缩 / 115
2.7.1 32bit VS 64bit / 116
2.7.2 小对象压缩存储(ziplist) / 116
2.7.3 内存回收机制 / 120
2.7.4 内存分配算法 / 120
第3 篇 集 篇 / 122
3.1 有备无患——主从同步 / 122
3.1.1 CAP 原理 / 122
3.1.2 终一致 / 123
3.1.3 主从同步与从从同步 / 123
3.1.4 增量同步 / 124
3.1.5 快照同步 / 124
3.1.6 增加从节点 / 125
3.1.7 无盘复制 / 125
3.1.8 wait 指令 / 125
3.1.9 小结 / 126
3.2 李代桃僵——Sentinel / 126
3.2.1 消息丢失 / 128
3.2.2 Sentinel 基本用法 / 128
3.2.3 思考&作业 / 129
3.3 分而治之——Codis / 130
3.3.1 Codis 分片原理 / 131
3.3.2 不同的 Codis 实例之间槽位关系如何同步 / 132
3.3.3 扩容 / 132
3.3.4 自动均衡 / 133
3.3.5 Codis 的代价 / 133
3.3.6 Codis 的优点 / 134
3.3.7 mget 指令的操作过程 / 134
3.3.8 架构变迁 / 135
3.3.9 Codis 的尴尬 / 135
3.3.10 Codis 的后台管理 / 136
3.3.11 思考&作业 / 136
3.4 众志成城——Cluster / 137
3.4.1 槽位定位算法 / 138
3.4.2 跳转 / 138
3.4.3 迁移 / 138
3.4.4 容错 / 140
3.4.5 网络抖动 / 140
3.4.6 可能下线(PFAIL)与确定下线(Fail) / 141
3.4.7 Cluster 基本用法 / 141
3.4.8 槽位迁移感知 / 142
3.4.9 集 变更感知 / 143
3.4.10 思考&作业 / 143
第4 篇 拓展篇 / 144
4.1 耳听八方——Stream / 144
4.1.1 消息 ID / 145
4.1.2 消息内容 / 145
4.1.3 增删改查 / 145
4.1.4 独立消费 / 147
4.1.5 创建消费组 / 148
4.1.6 消费 / 150
4.1.7 Stream 消息太多怎么办 / 152
4.1.8 消息如果忘记 ack 会怎样 / 153
4.1.9 PEL 如何避免消息丢失 / 153
4.1.10 Stream 的高可用 / 153
4.1.11 分区 Partition / 154
4.1.12 小结 / 154
4.2 无所不知——Info 指令 / 154
4.2.1 Redis 每秒执行多少次指令 / 155
4.2.2 Redis 连接了多少客户端 / 156
4.2.3 Redis 内存占用多大 / 156
4.2.4 复制积压缓冲区多大 / 157
4.2.5 思考&作业 / 158
4.3 拾遗补漏——再谈分布式锁 / 158
4.3.1 Redlock 算法 / 158
4.3.2 Redlock 使用场景 / 159
4.3.3 扩展阅读:redlock-py 的作者 / 160
4.4 朝生暮死——过期策略 / 160
4.4.1 过期的 key 集合 / 160
4.4.2 定时扫描策略 / 160
4.4.3 从节点的过期策略 / 161
4.5 优胜劣汰——LRU / 162
4.5.1 LRU 算法 / 163
4.5.2 近似 LRU 算法 / 164
4.5.3 思考&作业 / 165
4.6 平波缓进——懒惰删除 / 165
4.6.1 Redis 为什么使用懒惰删除 / 165
4.6.2 flush / 166
4.6.3 异步队列 / 166
4.6.4 AOF Sync 也很慢 / 166
4.6.5 更多异步删除点 / 166
4.7 妙手仁心——优雅地使用 Jedis / 167
4.7.1 重试 / 171
4.7.2 思考&作业 / 172
4.8 居安思危——保护 Redis / 172
4.8.1 指令安全 / 172
4.8.2 端口安全 / 173
4.8.3 Lua 脚本安全 / 174
4.8.4 SSL 代理 / 174
4.8.5 小结 / 174
4.9 隔墙有耳——Redis 安全通信 / 175
4.9.1 spiped 原理 / 176
4.9.2 spiped 使用入门 / 176
4.9.3 思考&作业 / 179
第5 篇 源码篇 / 180
5.1 丝分缕析——探索“字符串”内部 / 180
5.1.1 embstr VS raw / 181
5.1.2 扩容策略 / 184
5.1.3 思考&作业 / 184
5.2 循序渐进——探索“字典”内部 / 184
5.2.1 dict 内部结构 / 184
5.2.2 渐进式 rehash / 186
5.2.3 查找过程 / 187
5.2.4 hash 函数 / 188
5.2.5 hash 攻击 / 188
5.2.6 扩容条件 / 188
5.2.7 缩容条件 / 189
5.2.8 set 的结构 / 189
5.2.9 思考&作业 / 189
5.3 挨肩迭背——探索“压缩列表”内部 / 190
5.3.1 增加元素 / 192
5.3.2 级联更新 / 192
5.3.3 intset 小整数集合 / 194
5.3.4 思考&作业 / 195
5.4 风驰电掣——探索“快速列表”内部 / 195
5.4.1 每个 ziplist 存多少元素 / 197
5.4.2 压缩深度 / 198
5.5 凌波微步——探索“跳跃列表”内部 / 198
5.5.1 基本结构 / 199
5.5.2 查找过程 / 199
5.5.3 随机层数 / 200
5.5.4 插入过程 / 201
5.5.5 删除过程 / 202
5.5.6 更新过程 / 203
5.5.7 如果 score 值都一样呢 / 203
5.5.8 元素排名是怎么算出来的 / 203
5.5.9 思考&作业 / 204
5.5.10 题外话 / 204
5.6 破旧立新——探索“紧凑列表”内部 / 205
5.6.1 级联更新 / 207
5.6.2 取代 ziplist 尚需时日 / 207
5.6.3 思考&作业 / 207
5.7 金枝玉叶——探索“基数树”内部 / 207
5.7.1 应用 / 208
5.7.2 结构 / 210
5.7.3 思考&作业 / 213
5.8 精益求精——LFU VS LRU / 213
5.8.1 Redis 对象的热度 / 213
5.8.2 LRU 模式 / 213
5.8.3 LFU 模式 / 214
5.8.4 为什么 Redis 要缓存系统时间戳 / 217
5.8.5 Redis 为什么在获取 lruclock 时使用原子操作 / 217
5.8.6 如何打开 LFU 模式 / 218
5.8.7 思考&作业 / 218
5.9 如履薄冰——懒惰删除的巨大牺牲 / 218
5.9.1 懒惰删除的 初实现不是异步线程 / 219
5.9.2 异步线程方案其实也相当复杂 / 219
5.9.3 异步删除的实现 / 221
5.9.4 队列安全 / 224
5.9.5 思考&作业 / 225
5.10 跋山涉水——深入字典遍历 / 225
5.10.1 一边遍历一边修改 / 226
5.10.2 重复遍历的难题 / 227
5.10.3 迭代器的结构 / 227
5.10.4 迭代过程 / 229
5.10.5 迭代器的选择 / 231
5.10.6 思考&作业 / 232
dy 章 开始
1.1 编写一个简单的C 程序
1.1.1 编译、运行程序
1.2 初识输入输出
1.3 注释简介
1.4 控制流
1.4.1 hile语句
1.4.2 for语句
1.4.3 读取数量不定的输入数据
1.4.4 if语句
1.5 类简介
1.5.1 Sales_item类
1.5.2 初识成员函数
1.6 书店程序
小结
术语表
第Ⅰ部分 C 基础
第2章 变量和基本类型
2.1 基本内置类型
2.1.1 算术类型
2.1.2 类型转换
2.1.3 字面值常量
2.2 变量
2.2.1 变量定义
2.2.2 变量声明和定义的关系
2.2.3 标识符
2.2.4 名字的作用域
2.3 复合类型
2.3.1 引用
2.3.2 指针
2.3.3 理解复合类型的声明
2.4 const限定符
2.4.1 const的引用
2.4.2 指针和const
2.4.3 顶层const
2.4.4 constexpr和常量表达式
2.5 处理类型
2.5.1 类型别名
2.5.2 auto类型说明符
2.5.3 decltype类型指示符
2.6 自定义数据结构
2.6.1 定义Sales_data类型
2.6.2 使用Sales_data类
2.6.3 编写自己的头文件
小结
术语表
第3章 字符串、向量和数组
3.1 命名空间的using声明
3.2 标准库类型string
3.2.1 定义和初始化string对象
3.2.2 string对象上的操作
3.2.3 处理string对象中的字符
3.3 标准库类型vector
3.3.1 定义和初始化vector对象
3.3.2 向vector对象中添加元素
3.3.3 其他vector操作
3.4 迭代器介绍
3.4.1 使用迭代器
3.4.2 迭代器运算
3.5 数组
3.5.1 定义和初始化内置数组
3.5.2 访问数组元素
3.5.3 指针和数组
3.5.4 C风格字符串
3.5.5 与旧代码的接口
3.6 多维数组
小结
术语表
第4章 表达式
4.1 基础
4.1.1 基本概念
4.1.2 优先级与结合律
4.1.3 求值顺序
4.2 算术运算符
4.3 逻辑和关系运算符
4.4 赋值运算符
4.5 递增和递减运算符
4.6 成员访问运算符
4.7 条件运算符
4.8 位运算符
4.9 sizeof运算符
4.10 逗号运算符
4.11 类型转换
4.11.1 算术转换
4.11.2 其他隐式类型转换
4.11.3 显式转换
4.12 运算符优先级表
小结
术语表
第5章 语句
5.1 简单语句
5.2 语句作用域
5.3 条件语句
5.3.1 if语句
5.3.2 sitch语句
5.4 迭代语句
5.4.1 hile语句
5.4.2 传统的for语句
5.4.3 范围for语句
5.4.4 do hile语句
5.5 跳转语句
5.5.1 break语句
5.5.2 continue语句
5.5.3 goto语句
5.6 TRY语句块和异常处理
5.6.1 thro表达式
5.6.2 try语句块
5.6.3 标准异常
小结
术语表
第6章 函数
6.1 函数基础
6.1.1 局部对象
6.1.2 函数声明
6.1.3 分离式编译
6.2 参数传递
6.2.1 传值参数
6.2.2 传引用参数
6.2.3 const形参和实参
6.2.4 数组形参
6.2.5 main:处理命令行选项
6.2.6 含有可变形参的函数
6.3 返回类型和return语句
6.3.1 无返回值函数
6.3.2 有返回值函数
6.3.3 返回数组指针
6.4 函数重载
6.4.1 重载与作用域
6.5 特殊用途语言特性
6.5.1 默认实参
6.5.2 内联函数和constexpr函数
6.5.3 调试帮助
6.6 函数匹配
6.6.1 实参类型转换
6.7 函数指针
小结
术语表
第7章 类
7.1 定义抽象数据类型
7.1.1 设计Sales_data类
7.1.2 定义改进的Sales_data类
7.1.3 定义类相关的成员函数
7.1.4 构造函数
7.1.5 拷贝、赋值和析构
7.2 访问控制与封装
7.2.1 友元
7.3 类的其他特性
7.3.1 类成员再探
7.3.2 返回*this的成员函数
7.3.3 类类型
7.3.4 友元再探
7.4 类的作用域
7.4.1 名字查找与类的作用域
7.5 构造函数再探
7.5.1 构造函数初始值列表
7.5.2 委托构造函数
7.5.3 默认构造函数的作用
7.5.4 隐式的类类型转换
7.5.5 聚合类
7.5.6 字面值常量类
7.6 类的静态成员
小结
术语表
第Ⅱ部 C 标准库
第8章 IO库
8.1 IO类
8.1.1 IO对象无拷贝或赋值
8.1.2 条件状态
8.1.3 管理输出缓冲
8.2 文件输入输出
8.2.1 使用文件流对象
8.2.2 文件模式
8.3 string流
8.3.1 使用istringstream
8.3.2 使用ostringstream
小结
术语表
第9章 顺序容器
9.1 顺序容器概述
9.2 容器库概览
9.2.1 迭代器
9.2.2 容器类型成员
9.2.3 begin和end成员
9.2.4 容器定义和初始化
9.2.5 赋值和sap
9.2.6 容器大小操作
9.2.7 关系运算符
9.3 顺序容器操作
9.3.1 向顺序容器添加元素
9.3.2 访问元素
9.3.3 删除元素
9.3.4 特殊的forard_list操作
9.3.5 改变容器大小
9.3.6 容器操作可能使迭代器失效
9.4 vector对象是如何增长的
9.5 额外的string操作
9.5.1 构造string的其他方法
9.5.2 改变string的其他方法
9.5.3 string搜索操作
9.5.4 compare函数
9.5.5 数值转换
9.6 容器适配器
小结
术语表
dy 0章 泛型算法
10.1 概述
10.2 初识泛型算法
10.2.1 只读算法
10.2.2 写容器元素的算法
10.2.3 重排容器元素的算法
10.3 定制操作
10.3.1 向算法传递函数
10.3.2 lambda表达式
10.3.3 lambda捕获和返回
10.3.4 参数绑定
10.4 再探迭代器
10.4.1 插入迭代器
10.4.2 iostream迭代器
10.4.3 反向迭代器
10.5 泛型算法结构
10.5.1 5类迭代器
10.5.2 算法形参模式
10.5.3 算法命名规范
10.6 特定容器算法
小结
术语表
dy 1章 关联容器
11.1 使用关联容器
11.2 关联容器概述
11.2.1 定义关联容器
11.2.2 关键字类型的要求
11.2.3 pair类型
11.3 关联容器操作
11.3.1 关联容器迭代器
11.3.2 添加元素
11.3.3 删除元素
11.3.4 map的下标操作
11.3.5 访问元素
11.3.6 一个单词转换的map
11.4 无序容器
小结
术语表
dy 2章 动态内存
12.1 动态内存与智能指针
12.1.1 shared_ptr类
12.1.2 直接管理内存
12.1.3 shared_ptr和ne结合使用
12.1.4 智能指针和异常
12.1.5 unique_ptr
12.1.6 eak_ptr
12.2 动态数组
12.2.1 ne和数组
12.2.2 allocator类
12.3 使用标准库:文本查询程序
12.3.1 文本查询程序设计
12.3.2 文本查询程序类的定义
小结
术语表
第Ⅲ部分 类设计者的工具
dy 3章 拷贝控制
13.1 拷贝、赋值与销毁
13.1.1 拷贝构造函数
13.1.2 拷贝赋值运算符
13.1.3 析构函数
13.1.4 三/五法则
13.1.5 使用=default
13.1.6 阻止拷贝
13.2 拷贝控制和资源管理
13.2.1 行为像值的类
13.2.2 定义行为像指针的类
13.3 交换操作
13.4 拷贝控制示例
13.5 动态内存管理类
13.6 对象移动
13.6.1 右值引用
13.6.2 移动构造函数和移动赋值运算符
13.6.3 右值引用和成员函数
小结
术语表
dy 4章 操作重载与类型转换
14.1 基本概念
14.2 输入和输出运算符
14.2.1 重载输出运算符<<
14.2.2 重载输入运算符>>
14.3 算术和关系运算符
14.3.1 相等运算符
14.3.2 关系运算符
14.4 赋值运算符
14.5 下标运算符
14.6 递增和递减运算符
14.7 成员访问运算符
14.8 函数调用运算符
14.8.1 lambda是函数对象
14.8.2 标准库定义的函数对象
14.8.3 可调用对象与function
14.9 重载、类型转换与运算符
14.9.1 类型转换运算符
14.9.2 避免有二义性的类型转换
14.9.3 函数匹配与重载运算符
小结
术语表
dy 5章 面向对象程序设计
15.1 OOP:概述
15.2 定义基类和派生类
15.2.1 定义基类
15.2.2 定义派生类
15.2.3 类型转换与继承
15.3 虚函数
15.4 抽象基类
15.5 访问控制与继承
15.6 继承中的类作用域
15.7 构造函数与拷贝控制
15.7.1 虚析构函数
15.7.2 合成拷贝控制与继承
15.7.3 派生类的拷贝控制成员
15.7.4 继承的构造函数
15.8 容器与继承
15.8.1 编写Basket类
15.9 文本查询程序再探
15.9.1 面向对象的解决方案
15.9.2 Query_base类和Query类
15.9.3 派生类
15.9.4 eval函数
小结
术语表
dy 6章 模板与泛型编程
16.1 定义模板
16.1.1 函数模板
16.1.2 类模板
16.1.3 模板参数
16.1.4 成员模板
16.1.5 控制实例化
16.1.6 效率与灵活性
16.2 模板实参推断
16.2.1 类型转换与模板类型参数
16.2.2 函数模板显式实参
16.2.3 尾置返回类型与类型转换
16.2.4 函数指针和实参推断
16.2.5 模板实参推断和引用
16.2.6 理解std::move
16.2.7 转发
16.3 重载与模板
16.4 可变参数模板
16.4.1 编写可变参数函数模板
16.4.2 扩展
16.4.3 转发参数
16.5 模板特例化
小结
术语表
第Ⅳ部分 高级主题
dy 7章 标准库特殊设施
17.1 tuple类型
17.1.1 定义和初始化tuple
17.1.2 使用tuple返回多个值
17.2 BITSET类型
17.2.1 定义和初始化bitset
17.2.2 bitset操作
17.3 正则表达式
17.3.1 使用正则表达式库
17.3.2 匹配与Regex迭代器类型
17.3.3 使用子表达式
17.3.4 使用regex_replace
17.4 随机数
17.4.2 其他随机数分布
bernoulli_distribution类
17.5 IO库再探
17.5.1 格式化输入与输出
17.5.2 未格式化的输入/输出操作
17.5.3 流随机访问
小结
术语表
dy 8章 用于程序的工具
18.1 异常处理
18.1.1 抛出异常
18.1.2 捕获异常
18.1.3 函数try语句块与构造函数
18.1.4 noexcept异常说明
18.1.5 异常类层次
18.2 命名空间
18.2.1 命名空间定义
18.2.2 使用命名空间成员
18.2.3 类、命名空间与作用域
18.2.4 重载与命名空间
18.3 多重继承与虚继承
18.3.1 多重继承
18.3.2 类型转换与多个基类
18.3.3 多重继承下的类作用域
18.3.4 虚继承
18.3.5 构造函数与虚继承
小结
术语表
dy 9章 特殊工具与技术
19.1 控制内存分配
19.1.1 重载ne和delete
19.1.2 定位ne表达式
19.2 运行时类型识别
19.2.1 dynamic_cast运算符
19.2.2 typeid运算符
19.2.3 使用RTTI
19.2.4 type_info类
19.3 枚举类型
19.4 类成员指针
19.4.1 数据成员指针
19.4.2 成员函数指针
19.4.3 将成员函数用作可调用对象
19.5 嵌套类
19.6 union:一种节省空间的类
19.7 局部类
19.8 固有的不可移植的特性
19.8.1 位域
19.8.2 volatile限定符
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格