Boolan Boolan

C++内存管理机制

所属微专业:

图片
课程概述

课程体系:

本微专业除了【专业课程】,还提供:作业习题、互动答疑、课程辅导等【多层教学服务】。

 

【专业课程: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++新标准C++11-14》

《STL标准库与泛型编程》

极客班《C++开发工程师》微专业


授课大纲
章节段落标题
第一讲: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_allocator17.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_free32.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_allocator45.上中下三个classes分析
46.Loki_allocator行为图解
47.class FixedAllocator分析(上)
48.class FixedAllocator分析(下)
49.Loki_allocator总结
第五讲:other issues50.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++高级开发工程师”微专业常见问题