- ISBN:9787302584643
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:312
- 出版时间:2022-03-01
- 条形码:9787302584643 ; 978-7-302-58464-3
本书特色
本书特色: ?? 实战经验总结 24年实际开发经验总结,C++模板开发技术精华。 ?? 高端知识荟萃 深入讲述C++11/14/17模板与泛型编程、元编程手法。 ?? 讲解方法科学 知识点由浅入深,基础、进阶、实践,环环相扣。 ?? 范例覆盖面广 书中给出了大量通俗易懂的实例,便于举一反三。 书中主题: 基础知识 函数模板、类模板、变量模板、别名模板、可变参模板、多态、友元关系、特殊继承等。 进阶知识 万能引用、类型推断、完美转发、std::enable_if使用、可变参展开形式等。 标准库工具模板 declval、true_type/false_type、void_t、conditional、function等。 萃取与策略技术 固定萃取/值萃取演示、多个SFINAE特性萃取范例演示(is_default_constructible、is_convertible等)、策略技术演示。 元编程 基础概念、混合元编程概念、 typelist实现详解、元组(tuple)实现详解。 标准模板库核心代码实现 list容器/迭代器简单实现、迭代器分类目的详解、典型算法find_if的实现。 环境标准: 涵盖C++11/14/17新标准,书中全部范例通过Visual Studio 2019编译环境演示,大部分实例可以在gcc(g++)环境下编译运行。
内容简介
本书详细讲解C++模板与泛型编程知识,旨在帮助读者解决各种模板与泛型编程中的语法问题,从而顺利阅读泛型编程代码(如C++标准库代码、Boost库代码)。此外,本书也对一些比较有商业价值的源码进行适当分析和讲解,以进一步提高读者的实战能力,让读者更好地利用模板与泛型编程技术编写可复用的高质量代码以及供第三方开发者使用的接口库。 本书内容全面,注重细节和基础;讲解难度适宜,范例由浅入深;支持C++11/14/17标准。 本书可作为希望系统学习C+模板与泛型编程、元编程相关开发知识的中不错C++语言开发者的参考读物。
目录
第1章 C++编程环境介绍
1.1 C++编程环境搭建说明
1.2 创建*基本的能运行的C++程序
1.3 Visual Studio中程序的调试方法
1.3.1 普通的断点调试(跟踪调试)
1.3.2 学会调试时查看内存中的内容
1.3.3 “快速监视”对话框
1.3.4 查看“反汇编”窗口
1.4 开启Visual Studio 2019对C++*新标准的编译支持
第2章 模板基础知识
2.1 函数模板
2.1.1 基本范例
2.1.2 实例化
2.1.3 模板参数的推断
2.1.4 重载
2.1.5 特化
2.1.6 默认参数
2.1.7 非类型模板参数
2.2 类模板、变量模板与别名模板
2.2.1 类模板的基本范例和模板参数的推断
2.2.2 类模板的特化
2.2.3 默认参数
2.2.4 类型别名
2.2.5 非类型模板参数
2.2.6 成员函数模板
2.2.7 类/类模板中的类模板(类模板的嵌套)
2.2.8 变量模板与成员变量模板
2.2.9 别名模板与成员别名模板
2.2.10 模板模板参数
2.2.11 共用体模板(联合模板)
2.3 类模板中的友元
2.3.1 友元类
2.3.2 友元函数
2.4 可变参模板
2.4.1 可变参函数模板
2.4.2 折叠表达式
2.4.3 可变参表达式
2.4.4 可变参类模板
2.5 多态在模板中的应用
2.6 模板的特殊继承关系
2.6.1 奇异(奇特)的递归模板模式
2.6.2 混入
2.7 模板代码的组织结构与模板的显式实例化和声明
2.7.1 模板代码的组织结构
2.7.2 模板的显式实例化、模板声明、代码组织结构
第3章 模板进阶知识
3.1 万能引用
3.1.1 类型区别的基本含义
3.1.2 基本认识
3.1.3 万能引用资格的剥夺与辨认
3.2 类型推断
3.2.1 如何查看类型推断结果
3.2.2 理解函数模板类型推断
3.2.3 auto类型常规推断
3.3 完美转发
3.3.1 完美转发的概念和步骤演绎
3.3.2 std::forward
3.3.3 普通参数的完美转发
3.3.4 在构造函数模板中使用完美转发范例
3.3.5 在可变参数模板中使用完美转发范例
3.3.6 完美转发失败的情形一例
3.4 std::enable_if的使用
3.4.1 一个简单范例
3.4.2 替换失败并不是一个错误(SFINAE)
3.4.3 enable_if
3.5 类模板中可变参的逐步展开
3.5.1 myclasst继承
3.5.2 myclasst...继承
3.5.3 myclasst...继承
3.5.4 myclasst...继承
第4章 标准库的典型内容
4.1 std::declval
4.1.1 基本概念和常规范例
4.1.2 std::declval返回右值引用类型的原因
4.1.3 推导函数返回值范例
4.2 std::true_type和std::false_type
4.3 std::void_t
4.3.1 源码分析和常规范例
4.3.2 编译器如何选择泛化版本和特化版本
4.3.3 借助void_t和declval实现is_copy_assignable
4.3.4 综合范例
4.4 std::conditional
4.5 std::function的实现
4.5.1 标准库中的std::function
4.5.2 实现类似std::function的功能
4.6 std::remove_all_extents
4.7 std::integer_sequence
4.7.1 正向排列数字生成一个类型Integer_Sequence
4.7.2 逆向排列数字生成一个类型Integer_Sequence_Reverse
4.7.3 将一个数字重复多次生成一个类型Repeat_Integer
4.8 std::is_union、std::is_class和std::integral_constant
4.8.1 std::is_union
4.8.2 std::is_class
4.8.3 std::integral_constant
第5章 萃取技术与策略技术
5.1 萃取技术及固定萃取演示
5.1.1 一个常规范例
5.1.2 迭代器范例
5.1.3 通过容器(数组)类型萃取元素类型范例
5.1.4 引用类型的移除和增加
5.1.5 const修饰符的移除
5.1.6 退化技术
5.2 萃取技术中的值萃取演示
5.2.1 一个常规范例
5.2.2 判断是否为void类型的范例
5.2.3 判断两个类型是否相同
5.3 使用SFINAE特性的信息萃取
5.3.1 用成员函数重载实现is_default_constructible
5.3.2 用成员函数重载实现is_convertible
5.3.3 用成员函数重载实现is_class
5.3.4 用成员函数重载实现is_base_of
5.3.5 用类模板特化实现is_default_constructible
5.4 将trait类模板用作模板参数
5.5 策略技术中的算法策略
5.5.1 常规范例:普通策略类
5.5.2 常规范例:策略类模板
5.5.3 萃取技术与策略技术的比较
第6章 元编程
6.1 术语、元函数
6.1.1 术语
6.1.2 元函数
6.2 混合元编程
6.2.1 常规的计算点积范例
6.2.2 混合元编程计算点积
6.3 typelist实现(类型计算范例)
6.3.1 设计和基本操作接口(算法)
6.3.2 扩展操作接口(算法)
6.3.3 typelist的老式设计与typelist的思考
6.4 tuple实现
6.4.1 重要基础知识回顾
6.4.2 元组基本概念、基础代码的设计和实现
6.4.3 操作接口(算法)
第7章 标准模板库代码
7.1 list容器的简单实现
7.1.1 基础代码
7.1.2 插入新元素前的准备
7.1.3 插入新元素
7.1.4 释放容器中元素所占用的内存
7.2 迭代器设计中的分类目的
7.2.1 迭代器的分类
7.2.2 迭代器分类目的详述
7.3 一个典型算法—find_if的简单实现
作者简介
王健伟: 男,1976年9月生,网名狂想(KuangXiang),1995年毕业于哈尔滨工程大学计算机及应用专业,拥有20多年软件开发经验,参与开发过数十个实际项目,涉及网络通信、网络安全、网络游戏等领域,具备极其深厚的软件开发实战经验。曾参与创办深圳知名网络安全公司安络科技有限公司,是中国首套网络安全在线扫描评估系统项目负责人、全球同服独立游戏《冒险之路》制作人。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0