C++系列第2:C++2.0(11+14+17+20)详解及多线程实战

C++系列第2:C++2.0(11+14+17+20)详解及多线程实战
共76节 1755人在学 课程详情
  • C++11新特性

    • nullptr的新语法讲解与代码实践
    • auto声明变量类型的讲解与实践
    • auto作为函数返回值类型
    • decltype推导表达式类型以及拖尾返回类型
    • decltype代码实践与讲解
    • for区间迭代的实践与讲解
    • 初始化列表
    • 外部模板与类型别名模板
    • 模板增强的讲解与实践
    • 委托构造和继承构造
    • Lambda表达式入门与实践
    • Lambda访问外部表达式
    • Lambda更多知识点的讲解
    • 新增容器之array
    • 新增容器之forward_list
    • 新增容器之unrodered_map
    • 新增容器之tuple详解
    • 正则表达式的讲解
    • 线程thread的简单入门与使用
    • 右值引用的讲解
    • 右值引用和move语义的讲解
    • 转移左值的讲解
    • constexpr的讲解
  • C++14新特性

    • lambda表达式的扩展
    • 返回值类型推导的讲解
    • 泛型lambda的讲解
    • deprecated与数字分隔符的讲解
  • C++17新特性

    • 搭建GCC10.2的编译环境
    • constexpr用到if判断语句中
    • constexpr用到lambda表达式中
    • typename用到模板中
    • 折叠表达式(左折叠和右折叠)
    • 结构化绑定(中括号和花括号)
    • 条件分支语句中的变量初始化
    • 聚合初始化(花括号的灵活使用)
    • lambda表达式捕获this值(注意是只读的)
    • 继承构造函数的讲解
    • 用auto作为非类型模板参数
    • fallthrough执行下一个case或default
    • nodiscard和maybe_unused
  • C++20新特性

    • concept模板约束条件
    • typename和explicit的讲解
    • constinit常量初始化
    • 位域变量及其默认初始化
    • 基于范围的for循环初始化
    • 嵌套内联命名空间
    • unicode字符串常量及未知边界的数组
  • C++2.0(11/14/17/20)总结与分析

    • 常量和变量的新特性
    • 自动类型判断及拖尾类型推导的新特性
    • 控制流if和for的新特性
    • 模板的新特性
    • 面向对象的override及final的新特性
    • Lambda表达式的新特性
    • 右值引用与move的新特性
    • 线程容器及tuple的新特性
    • 智能指针的新特性
  • C++2.0多线程原理与实战

    • 线程入门案例
    • 多进程多线程及并发原理
    • 通过函数和lambda表达式创建线程
    • 通过类对象创建线程
    • join与detach的作用
    • 线程的更多用法
    • 线程的传递参数的讲解
    • 互斥量与临界区的基本原理
    • 互斥量的案例代码与分析
    • 定时器互斥量的讲解
    • 期物future的基本原理
    • 期物future的案例代码与分析
    • 条件变量与生产者消费者模型的原理讲解
    • 条件变量与生产者消费者模型的代码实战与分析
    • 原子操作atomic的原理分析
    • 原子操作atomic的代码分析
    • 内存模型的简介
  • C++2.0线程池原理与实战

    • 线程池的原理简介
    • 线程池的流程架构图分析
    • 线程池代码库解析

    订阅失败

    C++系列第2:C++2.0(11+14+17+20)详解及多线程实战
    C++系列第2:C++2.0(11+14+17+20)详解及多线程实战 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课时介绍

    ccpp_s2_4.6--嵌套内联命名空间

    课程介绍

    学习并掌握C++2.0(11+14+17+20)的新特性,学习线程及线程池的应用

     

    ---------------------------------------------------

    给小白学员的3年学习路径及计划

    技术方面分三块:

    1.纯开发技术方向

    2.音视频流媒体专业方向

    3.项目实战

    ---------------------------------------------------

    1.纯开发技术方向

    (1) C++必须要过硬(至少学会10本经典好书)

    (2) 系统级编程(Windows、Linux),必须特别熟练系统API,灵活运用

    (3) 框架与工具(Qt、MFC):必须精通其中一种。

    (4) 架构与设计模式:需要提升一个高度,不再是简单的编码,而是思维模式。

    (5) 驱动级别(如果有兴趣,可以深入到驱动级:包括Windows、Linux)

    (6) 最好学习点Java+Html+javascript等WEB技术。

    2.音视频流媒体专业方向

    (1) 音视频流媒体基础理论:

       必须认真学会,否则看代码就是看天书

    (2) 编解码方向:精通h.264,h.265(hevc),

     包括理论和各个开源库(ffmpeg,libx264,libx265,...)。

    (3) 直播方向:  精通各种直播协议(rtsp,rtmp,hls,http-flv,...),

     钻研各个开源库(live555,darwin,srs,zlmediakit,crtmpserver,...)

    (4) 视频监控:  理论+开源库(onvif+281818)(EasyMonitor、iSpy、ZoneMinder(web)、...) 

    3.项目实战

    (1) Qt项目:  至少要亲手练习10个实战项目

    (网络服务器、多线程、数据库、图像处理、多人聊天、等等)

    (2)音视频项目:包括编解码、视频监控、直播等各个方向,都需要亲手实战项目,

    包括视频服务器、后台管理系统、前端播放器(多端)

    ---------------------------------------------------

     

     

    第1章 C++11新特性 4

    1). nullptr关键字与新语法 4

    2). auto和decltype类型推导 6

     auto讲解 6

     auto示例 7

     decltype 8

    3). for区间迭代 9

    4). 初始化列表 10

    5). 模板增强 11

    外部模板 11

    类型别名模板 12

    默认模板参数 12

    6). 构造函数 13

    委托构造 13

    继承构造 14

    7). Lambda 表达式 15

    8). 新增容器 20

    std::array 20

    std::forward_list 21

    无序容器 22

    元组 std::tuple 23

    9). 正则表达式 26

    10). 语言级线程支持 28

    多线程库简介 28

    11). 右值引用和move语义 31

    右值引用和move语义 32

    转移左值 34

    12). constexpr 35

    第2章 C++14新特性 36

    Lambda 函数 36

    类型推导 37

    返回值类型推导(Return type deduction) 37

    泛型lambda 39

    [[弃用的]]  [[deprecated]]属性 40

    二进制数字和数字分隔符 41

    第3章 C++17新特性 42

    安装GCC10.2 42

    安装msys2-x86_64-20200720 42

    更新镜像 42

    更新软件库 43

    安装 MinGW64 等必要的软件 43

    环境变量Path 43

    编译命令 43

    constexpr 44

    typename 45

    折叠表达式 47

    结构化绑定 48

    条件分支语句初始化 49

    聚合初始化 50

    嵌套命名空间 52

    lambda表达式捕获*this的值 53

    改写/继承构造函数 54

    用auto作为非类型模板参数 55

    __has_include 56

    fallthrough 57

    nodiscard 57

    maybe_unused 58

    第4章 C++20新特性 59

    编译命令 59

    concept 59

    typename 60

    explicit 61

    constinit 62

    位域变量的默认成员初始化 62

    指定初始化 63

    基于范围的for循环初始化 64

    放宽基于范围的for循环,新增自定义范围方法 65

    嵌套内联命名空间 66

    允许用圆括弧的值进行聚合初始化 67

    unicode字符串字面量 68

    允许转换成未知边界的数组 68

    likely和unlikely 69

    第5章 C++2.0(11/14/17/20)总结与分析 70

    5.1 C语言与C++ 71

    5.2 语言可用性的强化 72

    5.2.1 常量 72

    5.2.2 变量及其初始化 73

    5.2.3 类型推导 74

    5.2.4 控制流 76

    5.2.5 模板 77

    5.2.6 面向对象 81

    5.3 语言运行期的强化 83

    5.3.1 Lambda 表达式 83

    5.3.2 右值引用 86

    5.4 容器 88

    5.4.1 线性容器 88

    5.4.2 无序容器 89

    5.4.3 元组 89

    5.5 智能指针与内存管理 90

    5.5.1 RAII 与引用计数 90

    5.5.2 std::shared_ptr 90

    5.5.3 std::unique_ptr 91

    5.5.4 std::weak_ptr 91

    第6章 C++2.0多线程原理与实战 93

    什么是并发 93

    并发的方式 93

    为什么使用并发 95

    线程简介 96

    创建线程的三种方式 97

    1. 通过函数 97

    2.通过类对象创建线程 99

    3.通过lambda表达式创建线程 101

    thread线程的使用 101

    互斥量与临界区 105

    期物Future 111

    条件变量 112

    原子操作 114

    内存模型 118

    第7章 C++2.0线程池原理与实战 120

    线程与线程池的基本原理 120

    1)、线程 120

    2)、线程的生命周期 121

    3)、什么是单线程和多线程 121

    4)、线程池 122

    5)、四种常见的线程池 123

    线程池的架构与流程 123

    线程池代码实战 125

     

     

     

     

    推荐课程

    信息系统项目管理师自考笔记

    李明 · 915人在学

    python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

    王先生 · 22807人在学

    手把手搭建Java超市管理系统【附源码】(毕设)

    汤小洋 · 4294人在学

    Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

    黄菊华 · 838人在学

    基于SSM酒店管理系统(毕设)

    小尼老师 · 899人在学

    java项目实战之购物商城(java毕业设计)

    Long · 5203人在学

    手把手搭建Java求职招聘系统【附源码】(毕设)

    汤小洋 · 1532人在学

    Python Django 深度学习 小程序

    钟翔 · 2407人在学

    城管局门前三包管理系统+微信小程序(vue+springboot)

    赖国荣 · 681人在学

    Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

    李杰 · 4076人在学

    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00
    课件正在飞速打包中,请耐心等待几秒钟~