400-888-5228

課程介紹:

C++允許 (并且要求) 程序員自行操控 Memory Heap (i.e. Dynamic Allocation),這雖然帶給程序員負擔,從某個角度說卻也是 C++ 的優(yōu)勢 (速度表現與空間自主)。為此,我們必須追求在此現實下如何使用 memory 以符合空間和速度上的最佳利益。本課程在低階面全面介紹與 memory 相關之 C++ 語言構件,在高階面深度剖析各大程序庫 (STL, Loki, MFC, Boost) 的 pooled allocation 作法,并檢討它們的優(yōu)缺點,作為可能的借鑒或改善方向。

 

課程長度:

2天

課程對象:

C++開發(fā)工程師,編程培訓

 

課程大綱:

模塊一: malloc/free:這是 C/C++ 動態(tài)分配的根基和起點。此部分讓學員充分了解其中的精巧繁復,使足以評估在此之上添加內存管理的必要性與可能方向。

圖解 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