这门课解决什么问题
C++的内存管理是很多开发者真正跨过门槛的拦路虎。写业务代码时,常常因为指针指向不明、堆栈分配混乱或忘记释放资源,导致程序运行一段时间后崩溃,排查起来极其耗时。这门课针对的就是这些痛点:从底层弄懂进程内存空间的划分,搞清楚指针到底指向哪里、为什么野指针危险,再过渡到如何用现代C++的智能指针和内存池来规避手写管理的风险。它不堆砌语法,而是把堆栈分配、二维数组内存布局、void指针转换这些容易踩坑的地方拆开揉碎讲,适合写过一些C++但一遇到复杂指针操作就发虚的人。
适合什么基础,建议先看哪几块
这门资料要求你至少掌握基本语法,能独立写简单的循环和函数。如果连类和对象都不熟,建议先补基础再看。学习顺序上,建议先啃透指针原理和进程内存空间划分部分,这是后面所有内容的根。特别是图解堆栈空间分配对应的指针代码,以及堆中二维数组空间分配和清理这两块,务必跟着手写一遍。常量指针与指针常量的区分也要重点看,很多人在这里概念模糊,写代码时编译报错都看不懂原因。智能指针和内存池的内容放在后面,等底层原理吃透了再学,理解会顺畅很多。
学完能独立做什么,资料怎么配合练习
学完后,你应该能独立分析一段C++代码的内存布局,知道哪些变量在栈上自动回收,哪些在堆上需要手动管理。面对复杂的数组操作或图像处理场景,能自己设计合理的内存分配方案,并用智能指针替换裸指针来降低泄漏风险。配合资料练习时,不要光看视频,每讲完一个内存空间演示,立刻在自己的环境里写代码验证。比如讲堆中二维数组分配,你就自己写一段分配和清理的代码,故意漏掉释放步骤,观察内存占用变化,再对比智能指针的自动回收行为。这样练下来,对内存生命周期的理解才会真正长进。
1.理解指针原理并学会智能指针和编程 2.理解c++17内存池技术
课程目录
* 01 指针原理和快速入门/
* 01 cpp内存课程介绍.mp4 14:34
* 02 第一个指针程序-详解指针代码.mp4 13:06
* 03 图示进程的内存空间划分分析代码区_堆栈_内核空间.mp4 06:44
* 04 各种内存空间-堆_栈_全局地址代码演示.mp4 07:23
* 05 图解堆栈空间分配对应的指针代码.mp4 03:15
* 06 数组的堆栈空间初始化和c++11的for遍历.mp4 23:22
* 07 图解栈中二维数组的初始化和遍历.mp4 13:16
* 08 图解堆中两种二维数组空间分配设置和清理.mp4 11:46
* 09 void指针和c++11的指针类型转换.mp4 09:18
* 10 常量指针与指针常量.mp4 06:05
* 11 示例指针操作二维数组对opencv灰度图做反色.mp4 12:26
* 02 C++智能指针和函数参数与返回值/
* 01 unique_ptr的指针和数组多种初始化方式分析.mp4 10:59
* 02 unique_ptr智能指针和数组的访问.mp4 07:43
* 03 unique_ptr重置和移动内存资源.mp4 05:57
* 04 unique_ptr释放所有权和自定义空间删除方法.mp4 13:07
* 05 图解shared_ptr共享智能指针原理分析.mp4 06:23
* 06 shared_ptr共享智能指针演示初始化和空间清理.mp4 08:10
* 07 shared_ptr共享指针定制删除函数和指向同一个对象.mp4 06:53
* 08 weak_ptr解决shared_ptr循环引用内存泄漏.mp4 12:39
* 09 指针作为函数参数传递-使用模板传递数组.mp4 16:57
* 10 智能指针作为函数的参数和返回值unique_ptr.mp4 08:48
* 11 使用string作为函数参数内存的输入和输出.mp4 11:52
* 12 使用vector传递内存并接收函数返回的内存空间.mp4 08:50
* 03 分配器allocator和new重载/
* 01 重载operator的new和delete包括数组.mp4 13:12
* 02 类成员操作符new重载和放置placement_new.mp4 12:28
* 03 分配器allocator详解c++17_20新特性说明.mp4 13:53
* 04 自定义allocator演示vector和list分配器.mp4 23:32
* 05 未初始化内存复制分析uninitialized_copy.mp4 09:16
* 06 c++17 20 construct对象构造和销毁.mp4 07:07
* 04 C++指针与面向对象/
* 01 限制栈中创建对象和调用delete销毁对象.mp4 07:20
* 02 类继承和多继承内存地址分析.mp4 11:31
* 03 多继承中的二义性和虚基类内存问题分析.mp4 07:07
* 04 虚函数原理和内存分析.mp4 08:16
* 05 虚函数表指针直接访问函数的代码实验.mp4 09:17
* 05 C++17内存池/
* 01 c++17内存池memory_resource内存池原理.mp4 08:36
* 02 c++17内存池synchronized空间申请源码分析.mp4 15:06
* 03 c++17内存池空间释放代码分析.mp4 07:38
* 06 项目实战-基于内存池的多线程批量文件加解密工具/
* 01 基于内存池批量加解密程序项目需求和类图分析.mp4 07:16
* 02 项目创建和XCrypt加密代码完成.mp4 33:32
* 03 XCrypt数据解密接口完成.mp4 09:17
* 04 完成线程基类XIOStream和XReadTask线程读.mp4 19:51
* 05 完成XData使用内存池管理数据内存.mp4 16:25
* 06 完成责任链读取文件的数据传递到加密线程.mp4 26:56
* 07 完成XCryptTask加密线程任务处理.mp4 19:08
* 08 完成XWriteTask写入加密数据.mp4 09:12
* 09 完成文件的加密和加密测试.mp4 06:47
* 10 完成XFileCrypt实现组合加密和解密文件.mp4 10:09
* 11 使用c++17的目录访问接口完成批量文件的加密和解密工具.mp4 12:23






