现代C++20实战高手课

现代C++20实战高手课 / 进阶编程能力,成为C++高手

卢誉声 Autodesk 首席工程师
  • 课程目录
  • 课程介绍
  • 在线阅读:开篇词|为什么掌握现代C++新特性如此重要?

    C++20及后续演进标准作为继C++11之后的又一次重大变革,给我们带来了面对以往难以解决问题的新思想、新工具。

  • 01|Modules(上):C++模块化问题的前世今生

    为了隐藏代码实现细节,我们往往要使用哪些编程范式或技巧?

  • 02|Modules(中):解决编译性能和符号隔离的银弹

    这一讲,我们看看传统头文件编译范式,在编译性能和符号隔离之间二选一的难题如何解决。

  • 03|Modules(下):实战写个多模块图像处理服务

    相信你在动手实战后,就能进一步理解应该如何使用C++ Modules和namespace来解决现实问题。

  • 04|Concepts背景:C++泛型编程之殇

    那泛型编程到底是什么?C++如何支持泛型能力,又存在哪些问题?这是我们今天要解决的问题。

  • 05|Concepts:解决模板接口的类型与约束定义难题

    Concepts能为我们的编程体验带来多大的革新?能解决多少模板元编程的历史遗留问题呢?

  • 06|Concepts实战:写个向量计算模板库

    今天我们就来实战体验一下,使用C++模板,编写一个简单的向量计算模板库。

  • 07|Coroutines背景:异步I/O的复杂性

    这一讲,我们会通过传统C++解决方案实现异步I/O编程,亲身体验一下这种实现的复杂度。

  • 08|Coroutines:“零”开销降低异步编程复杂度

    从C++20开始,提供了一个全新的解决异步问题(特别是异步I/O)的方案——协程。

  • 09|Coroutines实战(一):异步文件操作库

    让我们以一个异步文件系统操作库为例,学习如何编写满足C++协程约定的程序。

  • 10|Coroutines实战(二):异步文件操作库

    一旦实现了协程框架,就能降低调用者的异步编程门槛,这正是协程的价值所在。

  • 期中周|扩展现有协程框架,实现高级任务调度

    我特意安排了这次期中周。从 2 月 13 日开始到 2 月 19 日结束,暂停更新内容,你可以利用这周挑战期中测试题,海口可以回顾之前所学,查漏补缺。

  • 期中周|期中测试题,你做对了么?

    期中周我给你出了一道实战题目,这一讲,我会把参考代码和解题思路公布出来。

  • 11|Ranges(一):数据序列处理的新工具

    Ranges让C++逐渐成为了处理大规模复杂数据的新贵,相信在学完Ranges后,你会爱上这种便利的数据处理方式!

  • 12|Ranges(二):用“视图”破除函数式编程之困

    视图是Ranges中提出的又一个核心概念,是Ranges真正解放函数式编程的重要驱动力。

  • 13|Ranges实战:数据序列函数式编程

    今天我为你准备了一个实战案例,设计一个简单的统计分析程序,用来分析三维视图中的对象。

  • 14|Formatting:千呼万唤始出来的新format标准

    如何通过重载formatter中的format函数,实现自定义输出格式化文本呢?

  • 15|Formatting实战:如何构建一个数据流处理实例?

    在这一讲中,我们会基于新标准实现一个日志库。你可以重点关注特化formatter类型的方法,实现高度灵活的标准化定制。

  • 16|Bit library(一):如何利用新bit操作库释放编程生产力?

    C++20作为一个里程碑式的重要标准,终于开始解决基本的位操作问题。

【上新倒计时 2 天 | 限时 7 折】


你将获得

  • 三大核心语言特性 & 重要库变更详解
  • 五大实例快速提升编程能力
  • 更通用的 C++ 开发之道
  • 理解 C++ 未来的语言演进方向

讲师介绍

常用 C/C++、JavaScript 开发,此外对 Scala、Java 也有一定研究。著作有《分布式实时处理系统:原理架构与实现》和《移动平台深度神经网络实战:原理、架构与优化》,译作有《高级 C/C++ 编译技术》和《JavaScript 编程精解(原书第 2 版)》等。


课程介绍

C++20 自 2020 年底推出已经两年了,作为 C++ 语言继 C++11 后的又一次重大变革,这一版本引入的核心语言特性变更和重要库变更,将对 C++ 开发者的日常开发带来巨大影响,从编程思想的角度看,你甚至可以当成一门新的语言来学习。

举几个例子:

  • 对于模块定义、符号隔离与编译性能间的矛盾,有了 Modules 来解决。
  • C++ 泛型编程中缺乏良好接口定义的问题,有了Concepts 来应对。
  • 传统 C++ 异步业务代码需要考虑大量细节,引入了 Coroutines 降低复杂度。
  • 原本 C++ 函数式编程时代码复杂冗长,现在可以通过 Ranges 解决。

如果你是有经验的 C++ 开发者,亟需转换思路,用新工具,解决工作中之前无法解决的老问题;对于新手,C++ 变得更加友好,即便不做为主语言,也可以吸取其精华,体会先进的编程思想。

卢誉声老师将结合自己工作中丰富的 C++ 实践经验和面试经验,系统讲解 C++20 及后续演进标准中的新特性和重要库变更,结合实践案例带你提升 C++ 实力,真正成长为 C++ 高手。

课程设计

课程主题分成三个章节。

第一章:核心语言重要变更

系统学习 C++20 带来的核心语言特性变更和最佳实践。不但会讲清 Modules、Concepts、Coroutines 新特性的背景、概念和原理,还会对比这些高级抽象与传统编码方案的不同。最后,还会在实际工程项目代码中,带你体会这些核心变更的强大之处。

第二章:重要库变更

通过网络数据流的处理实例学习 Ranges、Formating 和 Bit manipulation,用命令行的日历应用实例学习其他的几个重要标准库变更。你会在实战中快速掌握使用现代 C++ 库解决问题的便捷性和编程思路,加深对 C++ 设计哲学的理解。

第三章:现代 C++ 标准演进

讨论 C++20 后续演进标准,即 C++23 和 C++26 会带来的新特性,让你洞悉未来,理解 C++ 未来的语言演进方向,并学会如何使用这些新特性解决问题。

课程配套代码从这里获取(代码进度随课程进度更新)。


课程目录


适合人群

本专栏非 C++ 零基础课程。适合有 C++ 使用经验或者有意愿深入了解 C++20 的工程师。


订阅须知

随机推荐

炖锅辅食双狐电炖熬粥隔水便携煮粥分享怎么样?全方位评测分享!

小气泡圣梦祛痘洁面spa超微控油美容院要注意哪些质量细节?使用...

小气泡圣梦祛痘洁面spa超微控油美容院分析怎么样?亲测解析实际...

春娟30g脸霜干皮版面霜国货补水护肤品质量真的差吗?真实体验曝...

虾皇水饺400g分析性价比质量怎么样?功能介绍

美的风管智联全免费Midea科技版全屋KFR72T2W质量不好吗?用户真...