纯粹C++20 – 硬核原生体验

Pure C++ 20 – raw & unfiltered

没有旧 C++ 的浮夸和包袱的 C++

学习内容

  • 了解新的 C++20 语言标准功能
  • 将现有 C++ 代码库迁移到 C++20
  • 使用协程编写并发代码
  • 使用模块而不是标头来模块化软件
  • 使用范围库简化容器和算法的工作
  • 使用概念对算法和类应用约束

要求

  • 对 C++11 的基本了解

描述

  • 更新 [2024 年 11 月 26 日] 为所有部分添加了测验

  • 更新 [2024 年 11 月 9 日] 在“范围”部分添加了更多视频和视图示例

关于 C++20 的最深入课程。

本课程仅重点介绍新的 C++20 标准功能,而不涉及以前 C++ 标准的基础知识或细节,也不涉及面向对象编程的基础知识。 您必须对 C++11 有一些基本的了解,才能继续学习本课程 。如果您不熟悉现代 C++ 功能,请查看我的另一门名为 “完全现代 C++”的课程。

本课程将旨在解释新的核心语言和库的功能。您将学习使用指定的初始值设定项、consteval、consinit、lambda 表达式的未评估 constext 用法、枚举用法等。您还将了解在不使用头文件的情况下重用 C++ 代码的新方法。这可以通过 modules 实现,这是重用现有函数或类的一种更快、更简单的方法。

如果您实现用于容器的类,那么您将不得不提供许多比较运算符的实现,这将变得乏味且容易出错。C++20 提供了一个称为三向比较运算符 (space-ship 运算符)的新运算符,可简化比较运算符的实现。此外,现在可以更轻松地通过范围将算法与容器一起使用。无需使用 begin()和 end()函数来作容器。

概念 是一种对模板参数应用 constraints 的新方法。与 SFINAE (enable_if) 相比,它使用起来要简单得多。 学习并实施概念,以确保您的函数接受正确的参数并避免运行时错误。

您将了解称为协程的可恢复函数。使用协程,您可以编写并发代码,而无需同步或多个线程。这使您能够编写高性能代码,而无需创建和销毁线程的开销。

如果您准备好了,那么让我们立即开始吧。

本课程适合谁:

  • 想要学习 C++20 的 C++ 开发人员
  • 希望将代码迁移到 C++20 的 C++ 开发人员
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。