Logo
☆☆☆☆☆
0.0
Intermediate
3h 20m

C++ 概念:使用 C++20 提升类型安全性

本课程将带你深入了解 C++20 的最新特性——C++ Concepts。 你将学习 C++20 中最具意义的新功能之一:Concepts。Concepts 允许你为模板参数定义编译器可检查的约束条件,彻底改变你编写泛型代码的方式。你可以用它们来指定语法和语义上的要求,还能在类型系统中明确表达你的设计意图。一旦出现问题,编译器会给出清晰明了的错误提示。 尽管 Concepts 功能强大,但在实际应用中可能难以掌握,有时甚至令人困惑。本课程将为你提供克服这些挑战所需的知识,帮助你顺利进入更复杂的主题。 让我们开始吧。

8 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
C++ 概念:使用 C++20 提升类型安全性
本课程将带你深入了解 C++20 的最新特性——C++ Concepts。 你将学习 C++20 中最具意义的新功能之一:Concepts。Concepts 允许你为模板参数定义编译器可检查的约束条件,彻底改变你编写泛型代码的方式。你可以用它们来指定语法和语义上的要求,还能在类型系统中明确表达你的...

WHAT YOU'LL LEARN

学习使用概念来创建更强大的程序

Content

8 Lessons • 0 Quizzes • 0 Challenges

简介
  1. 1

    入门

  2. 2

    为什么使用 C++ 概念?

C++ 概念的原理
  1. 1

    概念的使用

  2. 2

    C++ 概念背后的动机

  3. 3

    C++ 中的模板

  4. 4

    C++ 模板测验

  5. 5

    亮点

函数中使用概念的四种方法
  1. 1

    使用概念的四种方式

  2. 2

    <requires> 子句

  3. 3

    挑战 - 使用 <requires> 子句求两个整数的最大公约数

  4. 4

    解决方案:使用 <requires> 子句求两个整数的最大公约数

  5. 5

    尾随 <requires> 子句

  6. 6

    挑战:使用尾随 <requires> 求两个实数的最大公约数

  7. 7

    解决方案:使用尾随 requires 子句求两个实数的最大公约数

  8. 8

    受限的模板参数

  9. 9

    简化的函数模板

  10. 10

    编译时概念

  11. 11

    如何在四种方法中进行选择?

  12. 12

    C++概念的使用方法测验

  13. 13

    结论

C++ 概念与类
  1. 1

    简介

  2. 2

    Requires 子句

  3. 3

    挑战:使用 requires 子句实现一个 Pair 类

  4. 4

    解决方案:使用 requires 子句实现 KeyPair 类(concept)

  5. 5

    受限模板参数

  6. 6

    挑战:使用受限模板参数的数组类

  7. 7

    解决方案:使用受限模板参数的数组类

  8. 8

    尾随 requires 子句

  9. 9

    C++ 类概念测验

  10. 10

    关键要点

C++ 标准库自带的概念
  1. 1

    <concepts> 头文件中的概念 - I

  2. 2

    <concepts> 头文件中的概念(续)

  3. 3

    <iterator> 头文件中的概念

  4. 4

    <ranges> 头文件中的概念

  5. 5

    C++ 标准库自带概念测验

  6. 6

    挑战:使用 C++ STL 中的概念自定义一个概念

  7. 7

    解决方案:使用 C++ STL 中的概念自定义一个概念

  8. 8

    结论

如何编写自己的 C++ 概念
  1. 1

    简介

  2. 2

    使用概念进行否定

  3. 3

    包含关系与否定

  4. 4

    挑战:修复代码

  5. 5

    解决方案:修复代码中的错误

  6. 6

    操作要求

  7. 7

    接口的简单要求

  8. 8

    接口的完整示例

  9. 9

    返回类型要求

  10. 10

    挑战:容器概念

  11. 11

    解决方案:容器概念

  12. 12

    类型要求 - 要求嵌套类型的存在

  13. 13

    类模板特化

  14. 14

    别名模板特化

  15. 15

    挑战:容器概念

  16. 16

    解决方案:容器概念

  17. 17

    嵌套需求

  18. 18

    挑战:容器概念

  19. 19

    解决方案:容器概念

  20. 20

    测验:编写我们自己的 C++ 概念

  21. 21

    结论

如何在实际开发中使用 C++ 概念
  1. 1

    数字的使用场景

  2. 2

    实用函数约束

  3. 3

    C++ 概念中的多重析构函数

  4. 4

    C++20 中的多个析构函数

  5. 5

    挑战:包含多个析构函数的容器类

  6. 6

    解决方案:包含多个析构函数的容器类

  7. 7

    测验:C++ 概念在现实生活中的应用

  8. 8

    结论

总结
  1. 1

    最后的话

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)