C++学习计划(三周)
有matlab和python基础,如何快速入门C++(利用《C++ primer plus》)
天数 | 核心内容 | 必学章节/内容 | 跳过内容 | 实践项目 | 对比训练 |
---|---|---|---|---|---|
1 | 开发环境搭建 | 第1章(配置g++/VS)、第2章前3节 | 1.4编译器原理 | 编写跨平台Hello World | 对比Python虚拟环境配置差异 |
2 | 严格类型系统 | 第3章(除3.5.4)、第4章 | 3.5.4 C字符串 | 温度转换程序(含类型检查) | Matlab脚本移植(注意int/double声明) |
3 | 复合类型基础 | 第5章(5.1-5.3)、第16.1 vector | 5.4指针运算 | 用vector实现Matlab矩阵转置 | 对比Python列表切片操作 |
4 | 函数封装 | 第6章(6.1-6.5)、第7.3引用参数 | 6.6函数指针 | 封装数值积分函数 | 对比Matlab函数嵌套特性 |
5 | 作用域与命名空间 | 第9.1-9.2命名空间 | 第8章函数模板 | 创建数学工具库(.h/.cpp) | 模拟Python模块导入机制 |
6 | 流程控制强化 | 第6.7内联函数、第5.5 range-for | 第6.8递归深度讲解 | 实现牛顿迭代法求解器 | 优化Matlab循环结构性能 |
7 | 周综合实践 | - | - | 移植Python数据处理脚本 | 对比执行速度(time命令) |
8 | 类与封装 | 第10章(除10.5友元) | 10.5友元类 | 设计复数类 | 对比Python的@classmethod |
9 | 构造/析构机制 | 第12.1-12.3智能指针 | 第12.4-12.5裸指针 | 实现自动释放的矩阵类 | 模拟Matlab矩阵内存管理 |
10 | 继承体系搭建 | 第13章(除13.8多重继承) | 13.8多重继承 | 构建几何图形类层次结构 | 对比Python多重继承差异 |
11 | 多态实现 | 第13.4虚函数 | 13.7 RTTI | 实现通用数值微分器 | 对比Matlab函数重载机制 |
12 | 运算符重载 | 第11章(基础运算符重载) | 11.3友元函数重载 | 重载矩阵加减乘运算 | 移植NumPy风格操作符 |
13 | 异常处理基础 | 第15.1-15.3异常机制 | 15.4异常规范 | 为矩阵类添加越界检测 | 对比Python的try-except |
14 | 周综合实践 | - | - | 开发科学计算工具库 | 集成Matlab测试用例 |
15 | 容器基础 | 第16章vector/string | 第16.5 valarray | 实现CSV数据加载器 | 预分配内存避免扩容 |
16 | 迭代器模式 | 第16.3迭代器 | 第17章IO流迭代器 | 重构Matlab滤波器算法 | 使用const迭代器优化 |
17 | 算法库应用 | 第20.1-20.3常用算法 | 20.4函数对象 | 用STL实现数据分析流水线 | 并行算法初探(C++17) |
18 | 关联容器 | 第16.4 map/set | 第18章异常高级 | 构建实验数据缓存系统 | 对比Python字典性能 |
19 | 智能指针进阶 | 第12.3 unique_ptr/shared_ptr | 第12.5弱指针 | 实现资源管理自动化 | 移植Matlab对象生命周期 |
20 | 模板基础 | 第14.1-14.4函数模板 | 第14.5模板深入 | 开发泛型数学函数库 | 对比Python装饰器机制 |
21 | 终极实践 | - | - | 完整移植一个Python科研项目 | 撰写C++/Python性能对比报告 |