课程体系:
本微专业除了【专业课程】,还提供:作业习题、互动答疑、课程辅导等【多层教学服务】。
【专业课程:C++内存管理机制】
内存 (memory, 台湾术语称为 “记忆体”) 是电脑中的 “脑” 吗?CPU才是脑,CPU才是计算机的三魂六魄。但若没有内存,一切只存在于虚无缥缈间,等同于不存在。 内存曾经是最宝贵也最昂贵的週边资源,现代程序员无法想像 DOS 时代对内存的锱铢必较。俱往矣,且看今朝。我们(似乎)有用不完的便宜内存。但表象之下是操作系统和标准库做了大量工作。而如果你开发内存高耗软件,或处于内存受限环境下 (例如嵌入式系统),就有必要深刻了解操作系统和标准库为你所做的内存管理,甚至需要自行管理内存。
我们谈的不只是应用,还深入设计原理与实现手法。在理解了这麽多底层 (Windows Heap, CRT malloc/free, C++ new/delete, C++ allocators) 之后,也许你终于恍然大悟,再不需要自行管理内存了;或也许你终于有能力想像,该在何处以何种方式加强内存管理。
你将获得整个video课程的完整讲义 (也就是video呈现的每一张投影片画面),和一个完整程序包括代码文件.cpp和可执行文件.exe。你可以在视听过程中随时停格仔细阅读讲义,细细咀嚼我所绘製的各种示意图和源代码之间的流动路线——这的确很需要时间和脑力,却能令你脑洞大开。
【多层教学服务】
1.作业习题+互动答疑
该课程更新期间,会根据线上课程内容布置课程测验题,结课后在规定时间内提交(具体见开课后公告);整个微专业中期,会布置综合项目实战,根据所学内容动手操练,微专业所有课程完结后提交。
2.课程辅导
开课期间,将邀请老师进行:课程直播答疑、作业点评、实战项目讲解(直播为主,一般在周末晚上);另外还会邀请行业大牛为大家带来小专题辅导(录播为主),帮助大家更好的掌握。
本专业的综合成绩由三部分组成:
1. 课程测验,占90%
2. 课堂优秀表现(分享、讨论、创新),占10%
注:具体考核方式请以开课后的课程公告为准。
综合成绩满分为100分,60分以上的可以获得由极客班和云课堂联合认证的合格证书,85分以上的可以获得优秀证书。
1.Overview【试看】
章节 | 段落标题 |
第一讲:C++ 内存构件 | 1.Overview |
2.内存分配的每一层面 | |
3.四个层面的基本用法 | |
4.基本构件之一newdelete expression(上) | |
5.基本构件之一newdelete expression(中) | |
6.基本构件之一newdelete expression(下) | |
7.Array new | |
8.Replacement new | |
9.重载 | |
10.重载示例(上) | |
11.重载示例(下) | |
12.Per-class allocator 1 | |
13.Per-class allocator 2 | |
14.Static allocator | |
15.Macro for static allocator | |
16.New handler | |
第二讲:std_allocator | 17.VC6 malloc() |
18.VC6标准分配器之实现 | |
19.BC5标准分配器之实现 | |
20.G2.9标准分配器之实现 | |
21.G2.9std_allocVSG4.9__pull_alloc | |
22.G4.9pull alloc用例 | |
23.G2.9std alloc | |
24.G2.9std_alloc运行一瞥01-05 | |
25.G2.9std_alloc运行一瞥06-10 | |
26.G2.9std_alloc运行一瞥11-13 | |
27.G2.9std_alloc源码剖析(上) | |
28.G2.9std_alloc源码剖析(中) | |
29.G2.9std_alloc源码剖析(下) | |
30.G2.9std_alloc观念大整理 | |
31.G4.9pull allocator运行观察 | |
第三讲:malloc_free | 32.VC6和VC10的malloc比较 |
33.VC6内存分配(1) | |
34.VC6内存分配(2) | |
35.VC6内存分配(3) | |
36.VC6内存分配(4) | |
37.VC6内存分配(5) | |
38.SBH行为分析-分配+释放之连续动作图解(1) | |
39.SBH行为分析-分配+释放之连续动作图解(2) | |
40.SBH行为分析-分配+释放之连续动作图解(3) | |
41.SBH行为分析-分配+释放之连续动作图解(4) | |
42.VC6内存管理free(p) | |
43.VC6内存管理总结(上) | |
44.VC6内存管理总结(下) | |
第四讲:Loki_allocator | 45.上中下三个classes分析 |
46.Loki_allocator行为图解 | |
47.class FixedAllocator分析(上) | |
48.class FixedAllocator分析(下) | |
49.Loki_allocator总结 | |
第五讲:other issues | 50.GNU C++对allocators的描述 |
51.VS2013标准分配器&G4.9标准分配器与new_allocator以及G4.9malloc_allocator | |
52.G4.9array_allocator | |
53.G4.9debug_allocator | |
54.bitmap_allocator(上) | |
55.bitmap_allocator(下) | |
56.谈谈const | |
57.关于new,delete&重载operator new,operatar delete... | |
58.实例,接口 | |
59.示例 | |
60.Basic string使用new(extra)扩充申请量 |
见“极客班·C++高级开发工程师”微专业常见问题