课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 计算机专业硕士研究生,擅长C、C++和计算机安全,麦洛科菲教学总监,《程序员求职成功路:技术、求职技巧与软实力培养》作者,创立了麦洛科菲高端IT培训,培训了大量成功就职于BAT的学员

  • 课程详情

    周哥简介           
    周哥:男,真名周扬荣,毕业于中科院软件所。曾就职于阿里巴巴,奇虎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@qq.com告知我们错误所在的课程名称和错误所在视频的时间起始位置。错误一经我们确认,我们将会在该门课程的“课程概述”里提供“错误更正”信息,并对您表示衷心的感谢。
    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课