400-888-5228

課程介紹:

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

 

課程長度:

2天

課程對象:

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

 

課程大綱:

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

圖解 malloc/free的相關(guān)結(jié)構(gòu),及內(nèi)存分配過程中的變化。

剖析 malloc/free的關(guān)鍵源代碼

以 Visual C++ 和 GCC 為剖析對象

模塊二:C++ 內(nèi)存管理相關(guān)構(gòu)件和重載方式

new expression vs. operator new

delete expression vs. operator delete

array new and array delete

placement new

new /delete operator overloading

模塊三:實(shí)例分析 (含關(guān)鍵源碼分析)

Allocator in C++ Standard Library

Allocator in Loki

Allocator in MFC

Allocator in Boost