这门课叫「重构你的C++知识体系」,名字听着有点大,但它的实际切口比较具体:不是带你从零学语法,而是把已经写过一些C++、却总觉得底子虚的人,重新按内存和程序运行的视角捋一遍。如果你写C++时经常遇到崩溃定位不了、指针和引用分不清该用哪个、看别人代码里的运算符重载和类型转换一头雾水,这门课就是冲着这些场景来的。

它解决的是"会写但说不清"的问题

很多人学C++的路径是:先背语法,再照着例子改,能跑起来就算过。结果一到排查内存问题、读底层代码、或者接手别人写的模块,就卡住了。这门课把重心放在内存调试和程序执行过程上,从汇编角度去看main函数栈怎么建立、函数调用前后地址怎么变化,再延伸到ShellCode这类提升权限的用法。这些内容平时工作中不一定天天用,但它们是理解C++内存模型的抓手。学完之后,你再看段错误、野指针、栈溢出这类问题,至少知道该从哪个方向去查,而不是靠打印日志碰运气。

适合什么基础,先看哪几块

不建议零基础直接进来。你至少写过完整的C++程序,知道指针、引用、类的基本写法,否则汇编和栈帧部分会跟不上。如果你已经工作一两年,日常写业务代码但没系统梳理过底层,这门课的匹配度最高。建议先看内存调试初步那几节,也就是从调试入门、汇编语言了解、main函数栈分析这条线走下来,把程序启动到执行的流程建立起来。这部分是后面所有内容的地基,跳过的话后面容易变成看热闹。运算符、C语言陷阱这些偏语言细节的内容,可以放在调试部分之后看,当作查漏补缺。

学完能独立做什么,资料怎么配合练

比较现实的目标是:你能独立用调试工具跟踪一个C++程序的执行过程,能看懂简单的汇编指令对应的栈操作,能在遇到内存相关bug时给出排查思路,而不是只会重启或加打印。音视频模块开发那部分属于应用方向,适合有相关业务需求的人重点看,没有的话了解思路即可。资料以视频讲解为主,配合调试演示,建议不要只看不动手。每看完一节,自己写一段小程序,用调试器跟一遍,把地址变化和调用顺序对一遍,比反复刷视频有用。汇编部分如果一次看不懂,先记下结论,等调试部分练熟了再回看,效果会好很多。

整体来说,这门课不是速成路线,它更像一次补课。如果你正处在"能写但心里没底"的阶段,愿意花时间跟调试器打交道,它值得投入;如果你只想快速上手某个框架或项目,那这门课的重心不在那儿,可以先放一放。

课程目录

📁 第17章C,C++内存调试初步 17-6main函数调用firstCall前后地址的记录及变化情.mp4
 [114.0 MB] 17-4从汇编角度看程序main函数栈.mp4
 [130.5 MB] 17-2了解汇编语言.mp4
 [107.7 MB] 17-1调试初步.mp4
 [148.1 MB] 17-7ShellCode提升权限的一种方式.mp4
 [88.6 MB] 17-5详细分析main函数的执行流程.mp4
 [99.0 MB] 17-8汇编的应用及本章总结.mp4
 [17.9 MB] 17-3汇编语言基础.mp4
 [31.9 MB] 📁 第19章课程总结 19-1课程总结.mp4
 [38.9 MB] 📁 第3章C++的运算符与表达式 3-2运算符表达式和基本语句--算术运算符.mp4
 [79.6 MB] 3-5运算符表达式和基本语句--赋值运算符.mp4
 [39.7 MB] 3-11提升补充部分:补码及位运算说明.mp4
 [100.5 MB] 3-10提升补充部分:补码2.mp4
 [125.2 MB] 3-3运算符表达式和基本语句--关系运算符.mp4
 [35.3 MB] 3-1运算符表达式和基本语句.mp4
 [25.5 MB] 3-4运算符表达式和基本语句--逻辑运算符.mp4
 [116.0 MB] 3-8第三章课后练习.pdf
 [44.1 KB] 3-6运算符表达式和基本语句--位运算符.mp4
 [104.2 MB] 3-9提升补充部分:补码1.mp4
 [70.5 MB] 3-7运算符表达式和基本语句--杂项运算符及运算符的优先级.mp4
 [102.2 MB] 📁 第4章从C语言的陷阱到C++的改进 4-3C语言数组退化问题上.mp4
 [83.4 MB] 4-6C语言移位运算问题下.mp4
 [82.9 MB] 4-9C语言整数溢出问题上.mp4
 [84.5 MB] 4-8C语言类型转换问题下.mp4
 [104.6 MB] 4-10C语言整数溢出问题下.mp4
 [78.2 MB] 4-7C语言类型转换问题上.mp4
 [72.2 MB] 4-12.2C语言字符串问题.mp4
 [133.0 MB] 4-11.1C语言字符串典型缺陷.mp4
 [107.1 MB] 4-4C语言数组退化问题下.mp4
 [78.9 MB] 4-1字符语法的常见陷阱上.mp4
 [133.0 MB] 4-5C语言移位运算问题上.mp4
 [86.2 MB] 4-2字符语法的常见陷阱下.mp4
 [34.0 MB] 📁 第15章实现《慕影》音视频模块开发 15-3PCM过程的一些基本参数.mp4
 [42.5 MB] 15-8ffmpeg程序的环境配置.mp4
 [44.6 MB] 15-4读取PCM音频文件进行播放1.mp4
 [54.0 MB] 15-12ffmpeg编写解码程序4.mp4
 [137.1 MB] 15-5读取PCM音频文件进行播放2.mp4
 [30.6 MB] 15-9ffmpeg编写解码程序1.mp4
 [58.5 MB] 15-1音视频采样编码的基本原理.mp4
 [19.4 MB] 15-10ffmpeg编写解码程序2.mp4
 [110.8 MB] 15-7ffmpeg的解码大致流程.mp4
 [38.4 MB] 15-6视频的封装格式及播放的基本流程.mp4
 [65.6 MB] 15-2ffmpeg的基本情况.mp4
 [50.2 MB] 15-11ffmpeg编写解码程序3.mp4
 [104.7 MB] 📁 第16章《慕影》播放器项目总结 16-1项目总结.mp4
 [24.8 MB] 16-3项目播放功能总结1.mp4
 [64.1 MB] 16-2项目UI功能总结.mp4
 [35.0 MB] 📁 第8章C++高级语法 8-12二进制文件的操作.mp4
 [120.3 MB] 8-2面向对象的抽象法则1-具体类型的抽象.mp4
 [72.0 MB] 8-13Complex其他运算符重载.mp4
 [60.7 MB] 8-7标准输入输出IO重载.mp4
 [104.8 MB] 8-1从抽象到面向对象编程.mp4
 [74.9 MB] 8-17面向对象的抽象法则2.mp4
 [142.1 MB] 8-14头文件重复包含问题.mp4
 [76.2 MB] 8-11文本文件的操作.mp4
 [58.2 MB] 8-4运算符重载.mp4
 [108.3 MB] 8-15关于前七章的练习题及答案.mp4
 [45.9 MB] 8-18Hack对象模型和虚函数.mp4
 [113.0 MB] 8-5拷贝构造及临时对象的优化.mp4
 [120.4 MB] 8-10文件操作基础.mp4
 [63.9 MB] 8-3对象的属性.mp4
 [73.7 MB] 8-16深拷贝浅拷贝及move语义的优化.mp4
 [162.2 MB] 8-19面向对象三大特性及总结.mp4
 [35.1 MB] 8-9IO缓存区.mp4
 [105.9 MB] 8-6前置与后置操作符.mp4
 [102.9 MB] 8-8IO流基础.mp4
 [30.1 MB] 📁 第12章桌面应用项目实战:设计项目的架构和标准 12-4项目中用到的大致QT知识.mp4
 [26.3 MB] 12-1慕影项目的效果展示.mp4
 [18.2 MB] 12-2项目环境的安装和部署.mp4
 [60.3 MB] 12-3项目的基本架构和pro文件.mp4
 [48.5 MB] 📁 第9章C++编程思想 9-13设计模式总结.mp4
 [21.8 MB] 9-9reinterpret_cast的使用.mp4
 [38.7 MB] 9-3static和单例模式的实现.mp4
 [68.2 MB] 9-11Adapter模式和多重继承.mp4
 [110.8 MB] 9-14 泛型编程之泛型函数1.mp4
 [41.3 MB] 9-1软件的设计模式.mp4
 [35.2 MB] 9-7void星NULL和nullptr.mp4
 [44.3 MB] 9-10static_cast和dynamic_cast的使用.mp4
 [135.5 MB] 9-16泛型编程的递推过程及总结.mp4
 [77.3 MB] 9-15泛型编程之泛型函数2.mp4
 [77.6 MB] 9-8static_cast的使用.mp4
 [25.1 MB] 9-4观察者模式.mp4
 [76.8 MB] 9-12Adapter组合方式实现.mp4
 [49.7 MB] 9-5list的使用和观察者模式的实现1.mp4
 [78.6 MB] 9-6观察者模式的实现2.mp4
 [152.5 MB] 9-2单例模式。.mp4
 [40.5 MB] 📁 第10章C++进阶编程 10-5从函数指针到仿函数模板.mp4
 [124.6 MB] 10-8从手写全排列到STL的实现.mp4
 [129.1 MB] 10-12容器适配器.mp4
 [68.8 MB] 10-16关于Boost库.mp4
 [86.6 MB] 10-9迭代器基本使用.mp4
 [83.4 MB] 10-4关联容器的插入删除及迭代器失效问题.mp4
 [111.7 MB] 10-6算法transform和lambda表达式.mp4
 [86.3 MB] 10-17CPP多线程基础.mp4
 [114.6 MB] 10-7STL容器的统计与二分查找.mp4
 [102.9 MB] 10-1STL标准库简介.mp4
 [30.0 MB] 10-13空间配置器初步.mp4
 [43.2 MB] 10-11自定义迭代器与手写GC.mp4
 [74.4 MB] 10-14自定义空间配置器.mp4
 [42.8 MB] 10-19多线程小结.mp4
 [30.7 MB] 10-2序列型容器和函数对象基本使用.mp4
 [144.8 MB] 10-15STL空间配置器源码剖析与STL总结.mp4
 [66.0 MB] 10-18多线程银行存取款案例.mp4
 [111.9 MB] 10-3关联容器map的基本使用和查找.mp4
 [104.3 MB] 10-10手写GC与异常.mp4
 [69.7 MB] 📁 第2章C++基础语法 2-8第二章课后练习题.pdf
 [38.6 KB] 2-6变量与常量.mp4
 [40.8 MB] 2-3开发环境的安装与使用1-安装.mp4
 [57.6 MB] 2-2语言的数据类型.mp4
 [67.9 MB] 2-1编译型语言.mp4
 [24.9 MB] 2-7语言的注释.mp4
 [28.1 MB] 2-5语言的标识符和关键字.mp4
 [58.7 MB] 2-4开发环境的安装与使用2-使用于调试.mp4
 [139.3 MB] 📁 第18章C++的陷阱和经验 18-3推荐几本CPP的书籍.mp4
 [27.7 MB] 18-4谈谈CPP的陷阱.mp4
 [12.8 MB] 18-2谈谈个人学习工作的一点感悟.mp4
 [13.3 MB] 18-1谈谈个人的学习工作经历.mp4
 [28.4 MB] 📁 第5章C++基础容器 5-3数组增删改查及二维数组.mp4
 [74.6 MB] 5-9字符串基本操作1.mp4
 [203.6 MB] 5-7Unicode编码.mp4
 [176.1 MB] 5-10字符串基本操作2.mp4
 [135.9 MB] 5-1序列容器--数组.mp4
 [52.9 MB] 5-11 string的简介.mp4
 [127.3 MB] 5-6字符串简介.mp4
 [99.7 MB] 5-5动态数组vector2.mp4
 [41.2 MB] 5-4动态数组Vector1.mp4
 [95.4 MB] 5-8字符串的指针表示.mp4
 [187.4 MB] 5-2off-by-oneerror数组下标.mp4
 [56.6 MB] 📁 第11章LinuxC++编程初步 11-9LinuxCPP之Makefile编写中的变量2.mp4
 [90.3 MB] 11-10LinuxCPP之Makefile编写中的变量3.mp4
 [128.1 MB] 11-1-1LinuxC++环境搭建、编程和调试基础上.mp4
 [73.1 MB] 11-5LinuxCPP之Makefile之make和Makef.mp4
 [22.8 MB] 11-7LinuxCPP之Makefile的扩展用法.mp4
 [108.1 MB] 11-6LinuxCPP之Makefile的格式.mp4
 [54.2 MB] 11-4LinuxCPP之Makefile产生的背景.mp4
 [56.9 MB] 11-2-2LinuxC++环境搭建、编程和调试基础下.mp4
 [88.2 MB] 11-11LinuxCPP之Makefile的自动生成和部署--.mp4
 [118.5 MB] 11-3LinuxCPP之什么是Makefile.mp4
 [32.3 MB] 11-8LinuxCPP之Makefile编写中的变量1.mp4
 [68.9 MB] 11-12VisualStudio开发LinuxCPP的基本使用.mp4
 [80.2 MB] 📁 第7章C++基础句法 7-8结构体的内存布局.mp4
 [93.9 MB] 7-5switch和if的对比.mp4
 [84.9 MB] 7-20递归的动态规划思路.mp4
 [75.0 MB] 7-12函数重载overload与NameMangling.mp4
 [79.7 MB] 7-1图灵机与三种基本结构.mp4
 [21.1 MB] 7-19尾递归的优化.mp4
 [76.0 MB] 7-13指向函数的指针与返回指针的函数.mp4
 [90.4 MB] 7-2if语句基础.mp4
 [41.4 MB] 7-16内联函数。.mp4
 [89.8 MB] 7-3if语句的例子.mp4
 [35.2 MB] 7-17数学归纳法与递归.mp4
 [66.1 MB] 7-9三种循环的基本使用与比较.mp4
 [156.1 MB] 7-10for循环的一个优化实例.mp4
 [138.6 MB] 7-18递归的特点和Hack过程.mp4
 [161.9 MB] 7-14 命名空间。.mp4
 [51.6 MB] 7-6自定义类型--枚举.mp4
 [92.1 MB] 7-4switch分支基础.mp4
 [15.5 MB] 7-7自定义类型--结构体与联合体.mp4
 [42.5 MB] 7-11函数基础.mp4
 [18.7 MB] 7-15函数体的Hack过程.mp4
 [197.3 MB] 📁 第6章彻底学会C++指针,引用 6-8指针的基本操作二.mp4
 [96.1 MB] 6-6关于野指针.mp4
 [88.6 MB] 6-10CPP程序的存储区域划分.mp4
 [218.1 MB] 6-20引用.mp4
 [139.0 MB] 6-15内存泄漏.mp4
 [60.9 MB] 6-7指针的基本操作一.mp4
 [126.3 MB] 6-12CPP动态分配和回收原则.mp4
 [41.7 MB] 6-14几种变量的对比.mp4
 [60.2 MB] 6-5指向指针的指针.mp4
 [20.5 MB] 6-2左值与右值.mp4
 [27.5 MB] 6-16智能指针auto_ptr.mp4
 [236.9 MB] 6-17智能指针unique_ptr.mp4
 [173.0 MB] 6-13RAII初步.mp4
 [16.0 MB] 6-18shared_ptr和weak_ptr理论讲解.mp4
 [38.3 MB] 6-4const与指针.mp4
 [97.7 MB] 6-11CPP程序的存储区域划分总结.mp4
 [20.2 MB] 6-9指针的基本操作三.mp4
 [184.9 MB] 6-1指针的概念.mp4
 [162.0 MB] 6-19shared_ptr和weak_ptr代码演示.mp4
 [120.6 MB] 6-3一般指针,数组指针和指针数组.mp4
 [101.1 MB] 📁 第14章《慕影》播放器UI模块开发 14-1项目的整体UI架构.mp4
 [68.3 MB] 14-8 项目的换肤实现3.mp4
 [82.6 MB] 14-3qml的最基本使用和项目绑定.mp4
 [32.3 MB] 14-5qml属性的基本使用.mp4
 [70.1 MB] 14-7项目的换肤实现2.mp4
 [37.4 MB] 14-4修正一个bug和框架调整.mp4
 [75.5 MB] 14-2项目资源和UI加载的流程.mp4
 [69.1 MB] 14-9项目的换肤实现4.mp4
 [86.5 MB] 14-6项目的换肤实现1.mp4
 [49.6 MB] 📁 第13章实现项目《慕影》的通用组件模块: 13-6QThread的使用.mp4
 [82.2 MB] 13-2QT项目的基础架构类和UI类.mp4
 [50.4 MB] 13-3QQString的基本使用.mp4
 [77.2 MB] 13-1QT和VS的项目使用.mp4
 [49.5 MB] 13-4QDebug的基本使用.mp4
 [72.9 MB] 13-5QT的智能指针QScopedPointer.mp4
 [59.1 MB] 📁 第1章C++概括 1-12020重C++课程导学.mp4
 [27.7 MB] 1-5第一章课后练习题.pdf
 [36.9 KB] 1-4CPP的应用.mp4
 [18.2 MB] 1-3CPP的特点.mp4
 [31.7 MB] 1-2 CPP的历史.mp4
 [56.2 MB] 说明.zip
 [484.0 B] 适合人群 C++初学者 有一定基础的C++开发者 希望提升C++编程能力的工程师 学习收获 掌握C++核心语法和特性 学会音视频模块开发 提升项目实战能力 祝您学习愉快! 学有所成,前程似锦!