Content
12 Lessons • 0 Quizzes • 0 Challenges
课程简介
- 1
入门
- 2
本课程涵盖的内容
- 3
课程前提条件与约定
模板基础
- 1
模板简介
- 2
理解模板的必要性
- 3
编写我们的第一个模板
- 4
理解模板术语
- 5
模板的发展简史
- 6
模板的优缺点
- 7
模板基础概述
- 8
测验:模板基础
- 9
挑战:查找数组的和
- 10
解决方案:查找数组的和
模板基础
- 1
模板基础入门
- 2
定义函数模板
- 3
定义类模板
- 4
定义成员函数模板
- 5
理解模板参数
- 6
理解默认模板参数
- 7
理解模板实例化
- 8
理解显式特化
- 9
理解部分特化
- 10
定义变量模板
- 11
定义别名模板
- 12
探索通用lambda表达式与lambda模板
- 13
模板基础概要
- 14
测验:模板基础
- 15
挑战:配对模板
- 16
解决方案:配对模板
可变参数模板
- 1
可变参数模板简介
- 2
理解可变参数模板的必要性
- 3
可变参数函数模板
- 4
参数包
- 5
理解参数包展开
- 6
可变参数类模板
- 7
折叠表达式
- 8
可变参数别名模板
- 9
可变参数变量模板
- 10
可变参数模板概述
- 11
测验:可变参数模板
- 12
挑战:连接字符串
- 13
解决方案:连接字符串
高级模板概念
- 1
高级模板概念简介
- 2
理解名称绑定与依赖名称
- 3
探索模板递归
- 4
函数模板参数推导
- 5
类模板参数推导
- 6
转发引用
- 7
decltype 说明符
- 8
std::declval 类型操作符
- 9
理解模板中的友谊关系
- 10
高级模板概念概述
- 11
测验:高级模板概念
- 12
挑战:动态元组创建
- 13
解决方案:动态元组创建
类型特性与条件编译
- 1
类型特性与条件编译入门
- 2
理解与定义类型特性
- 3
探索SFINAE及其作用
- 4
通过 enable_if 类型特征实现 SFINAE
- 5
使用 constexpr if
- 6
探索标准类型特性:第一部分
- 7
探索标准类型特性:第二部分
- 8
查看使用类型特征的实际示例
- 9
类型特性与条件编译概述
- 10
测验:类型特性与条件编译
- 11
挑战:基于类型的加法与类型信息
- 12
解决方案:基于类型的加法与类型信息
概念与约束
- 1
概念与约束简介
- 2
理解概念的必要性
- 3
定义概念
- 4
探索 requires 表达式
- 5
组合约束
- 6
带约束的模板排序
- 7
限制非模板成员函数
- 8
限制类模板
- 9
约束变量模板和模板别名
- 10
学习更多指定约束的方法
- 11
使用概念来约束自动参数
- 12
探索标准概念库
- 13
概念与约束概述
- 14
测验:概念与约束
- 15
挑战:回调函数兼容性验证
- 16
解决方案:回调函数兼容性验证
模式与惯用法
- 1
模式与惯用法简介
- 2
动态多态与静态多态
- 3
奇异的递归模板模式
- 4
混入(Mixins)
- 5
类型擦除
- 6
标签调度
- 7
表达式模板
- 8
类型列表
- 9
模式与惯用法概要
- 10
测验:模式与惯用法
- 11
挑战:向量代数
- 12
解法:向量代数
范围与算法
- 1
范围与算法简介
- 2
理解容器、迭代器和算法的设计
- 3
创建自定义容器和迭代器
- 4
编写一个自定义的通用算法
- 5
范围与算法概述
- 6
测验:范围与算法
- 7
挑战:元组压缩算法
- 8
解决方案:元组压缩算法
范围库
- 1
范围库简介
- 2
从抽象范围到范围库的演进
- 3
理解范围概念与视图
- 4
探索范围适配器的更多示例
- 5
理解受限算法
- 6
编写我们自己的范围适配器
- 7
范围库(Ranges Library)概述
- 8
测验:范围库
- 9
挑战:子范围适配器
- 10
解决方案:子范围适配器
结束语
- 1
结论
课程附录
- 1
在本地机器上运行代码
- 2
延伸阅读
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User