400-888-5228

课程介绍:

C++允许 (并且要求) 程序员自行操控 Memory Heap (i.e. Dynamic Allocation),这虽然带给程序员负担,从某个角度说却也是 C++ 的优势 (速度表现与空间自主)。为此,我们必须追求在此现实下如何使用 memory 以符合空间和速度上的最佳利益。本课程在低阶面全面介绍与 memory 相关之 C++ 语言构件,在高阶面深度剖析各大程序库 (STL, Loki, MFC, Boost) 的 pooled allocation 作法,并检讨它们的优缺点,作为可能的借鉴或改善方向。

 

课程长度:

2天

课程对象:

C++开发工程师,编程培训

 

课程大纲:

模块一: malloc/free:這是 C/C++ 动态分配的根基和起点。此部分让学员充分了解其中的精巧繁复,使足以评估在此之上添加內存管理的必要性与可能方向。

图解 malloc/free的相关结构,及內存分配过程中的变化。

剖析 malloc/free的关键源代码

以 Visual C++ 和 GCC 为剖析对象

模块二:C++ 内存管理相关构件和重载方式

new expression vs. operator new

delete expression vs. operator delete

array new and array delete

placement new

new /delete operator overloading

模块三:实例分析 (含关键源码分析)

Allocator in C++ Standard Library

Allocator in Loki

Allocator in MFC

Allocator in Boost