课程介绍
适合人群:
1.c++学习指针有困难的同学 2.工作中用到智能指针和内存池技术,或者做技术储备 3.学习c++11 14 17 20的内存新特性
你将会学到:
1.理解指针原理并学会智能指针和编程 2.理解c++17内存池技术
- 学会c++11 14 智能指针
- 理解C++指针的原理
- 学会c++17 内存池原理和应用
- 理解智能指针和内存池并完成多线程批量文件加密实战项目
课程目录
第1章 指针原理和快速入门(2小时1分钟11节)
1-1 cpp内存课程介绍
1-2 第一个指针程序-详解指针代码
1-3 图示进程的内存空间划分分析代码区_堆栈_内核空间
1-4 各种内存空间-堆_栈_全局地址代码演示
1-5 图解堆栈空间分配对应的指针代码
1-6 数组的堆栈空间初始化和c++11的for遍历
1-7 图解栈中二维数组的初始化和遍历
1-8 图解堆中两种二维数组空间分配设置和清理
1-9 void指针和c++11的指针类型转换
1-10 常量指针与指针常量
1-11 示例指针操作二维数组对opencv灰度图做反色
第2章 C++智能指针和函数参数与返回值(1小时58分钟12节)
2-1 unique_ptr的指针和数组多种初始化方式分析
2-2 unique_ptr智能指针和数组的访问
2-3 unique_ptr重置和移动内存资源
2-4 unique_ptr释放所有权和自定义空间删除方法
2-5 图解shared_ptr共享智能指针原理分析
2-6 shared_ptr共享智能指针演示初始化和空间清理
2-7 shared_ptr共享指针定制删除函数和指向同一个对象
2-8 weak_ptr解决shared_ptr循环引用内存泄漏
2-9 指针作为函数参数传递-使用模板传递数组
2-10 智能指针作为函数的参数和返回值unique_ptr
2-11 使用string作为函数参数内存的输入和输出
2-12 使用vector传递内存并接收函数返回的内存空间
第3章 分配器allocator和new重载 (1小时19分钟 6节)
3-1 重载operator的new和delete包括数组
3-2 类成员操作符new重载和放置placement_ne
3-3 分配器allocator详解c++17_20新特性说
3-4 自定义allocator演示vector和list分
3-5 未初始化内存复制分析uninitialized_co
3-6 c++17 20 construct对象构造和销毁
第4章 C++指针与面向对象 (43分钟 5节)
4-1 限制栈中创建对象和调用delete销毁对象
4-2 类继承和多继承内存地址分析
4-3 多继承中的二义性和虚基类内存问题分析
4-4 虚函数原理和内存分析
4-5 虚函数表指针直接访问函数的代码实验
第5章 C++17内存池 (31分钟 3节)
5-1 c++17内存池memory_resource内存池
5-2 c++17内存池synchronized空间申请源码
5-3 c++17内存池空间释放代码分析
第6章 项目实战-基于内存池的多线程批量文件加解密工具 (2小时50分钟 11节)
6-1 基于内存池批量加解密程序项目需求和类图分析
6-2 项目创建和XCrypt加密代码完成
6-3 XCrypt数据解密接口完成
6-4 完成线程基类XIOStream和XReadTask线
6-5 完成XData使用内存池管理数据内存
6-6 完成责任链读取文件的数据传递到加密线程
6-7 完成XCryptTask加密线程任务处理
6-8 完成XWriteTask写入加密数据
6-9 完成文件的加密和加密测试
6-10 完成XFileCrypt实现组合加密和解密文件
6-11 使用c++17的目录访问接口完成批量文件的加密和解密




