您现在的位置是:课程

周哥教IT.C++20编程详讲

2023-06-13 21:02课程 人已围观

周哥简介           
周哥:男,真名周扬荣,毕业于中科院软件所。曾就职于阿里巴巴,奇虎360安全公司,SUN中国工程研究院,北大计算机研究所等,创办了“麦洛科菲”高端IT安全培训 。        
          
课程内容介绍          
我们把C++11及之后的标准叫做现代C++。2020年9月,C++20 的 国际标准草案投票结束并获得一致通过,在 2020 年底正式发布。C++20为C++带来了重大的变化,包括引入了语言的三大特性(concept/coroutine/module)及若干小特性,还新增了一些大大小小的库,其中ranges是最大的一个库。谨以此课献给C++忠实粉丝。学习本课需要C和C++基础。

周哥教IT全网首发《C++20详讲》视频课程(目前已知的唯一一个讲现代C++20课程的视频)。在本课中,我们将结合实际的例子,详细介绍现代C++20的重要特性,并力求浅显易懂。本课提纲如下:

C++20标准诞生
C++历史变迁
前序课程
C++20, 23
编译器msvc,GCC,CLANG对C++20的支持
升级GCC11学习C++20

Modules
为什么要引入Modules?
modules基本用法
模块分区
export的使用方法
全局和私有模块
全局模块引入的意义

Concepts
Concepts:需要解决的问题?
Concepts:定义与应用
concept can_add
concept integral
限定只能调用存在name成员函数的类
限定只能调用返回值可以转换为std::string的函数
concept intlmit
组合concept
Concepts:作用

Ranges
Ranges(1):概念与应用
Ranges(2):更多应用
视图view

协程Coroutines
什么是C++协程?
co_return
co_yield:返回一个序列的值
co_await expression
stackless vs stackfull(1)
stackless vs stackfull(2)

Lambda
Lambda复习
C++20对Lambda修改(1)
C++20对Lambda修改(2)
C++20对Lambda修改(3)

constexpr
常量表达式(constexpr) 的更新:理解constexpr
常量表达式(constexpr) 的更新(1)
常量表达式(constexpr) 的更新(2)
consteval 函数与constinit

原子(Atomic)智能指针

jthread
jthread(1):join和detach
jthread(2):join, stop

Sync
信号量semaphore
锁存器(Latches)
屏障(Barriers)

先验概率指导编译器优化likely, unlikely
CPU流水线(pipeline)
CPU分支预测
[[likely]], [[unlikely]]

Atomic 引用:std::atomic_ref

指定初始化(Designated Initializers)
三路比较运算符 <=>

SPAN
std::span
std::string_view

范围 for 循环语句支持初始化语句
非类型模板形参支持字符串
用 using 引用 enum 类型
格式化库(std::format)
增加数学常量
std::source_location
位运算
字符串支持 starts_with, ends_with
stl模板库修改:map,list,forward list
<algorithm> 增加 shift_left, shift_right
midpoint 计算中位数, 可避免溢出
线性插值 lerp


学员评价          
              

勘误提示   
如您在学习过程中发现任何“错误”,请通过email:10950150@告知我们错误所在的课程名称和错误所在视频的时间起始位置。错误一经我们确认,我们将会在该门课程的“课程概述”里提供“错误更正”信息,并对您表示衷心的感谢。
-->

站点信息

  • 文章统计篇文章