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

你将获得什么?

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

课程简介

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

举几个例子:

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

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

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

课程设计

课程主题分成三个章节。

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

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

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

第二章:重要库变更

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

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

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

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

课程目录

开篇词为什么掌握现代C++新特性如此重要?
第一章:核心语言特性变更
01Modules背景:C++模块化问题的前世今生
02Modules:解决编译性能和符号隔离的银弹
03Modules实战:写个多模块图像处理服务
04Concepts背景:C++泛型编程之殇
05Concetps:解决模板接口的类型与约束定义难题
06Concepts实战:写个向量计算模板库
07Coroutines背景:为什么用C++处理异步I/O非常复杂?
08Coroutines:“零”开销降低异步编程复杂度
09Coroutines实战(一):异步文件系统操作库
10Coroutines实战(二):异步文件系统操作库
第二章:重要库变更
11 Ranges:面向数据序列的函数式编程的好帮手
12Ranges实战:数据序列函数式编程
13Formartting:千呼万唤始出来的新format 标准
14Formatting 实战:如何构建一个数据流处理实例?
15Bit library:如何利用新 bit 操作库释放编程生产力?
16其他重要标准库特性:还有哪些库变更值得关注?
17其他重要标准库特性实战:利用日历应用熟悉新特性
第三章:现代 C++标准演进
18漫游C++23:更好的 C++20
19重大变更:关于C++26的十大猜想
20未来展望:透过未来标准演进看C++设计哲学
结束语|这只长颈鹿在我家后院生活得不错

讲师介绍

卢誉声,Autodesk 首席工程师,主攻平台架构研发。

负责核心流数据平台的架构设计与研发工作,在分布式系统高可用性、性能优化、基于流的大规模图形 SDK 的研发方面有多年实战经验。同时,也拥有着丰富的面试和面试官经验,极客时间《动态规划面试宝典》专栏作者。

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

Like (0)
Previous 2023年3月9日 下午4:57
Next 2023年3月9日 下午5:41

相关推荐

发表回复

Please Login to Comment