1. 自動記憶體管理,像局部變量;配置設定在棧中;
2. 靜态配置設定記憶體,static 變量;配置設定在bss區,和全局變量一樣;
3. 動态配置設定記憶體,new(); 配置設定在堆中;
補充:
1.給數組配置設定記憶體:
在為對象(類的執行個體)數組配置設定記憶體時,每個元素都通過類的預設構造函數來初始化,會帶來運作時的很多開銷;更好的方法是<memory>中的allocator<T>,成員函數allocator配置設定記憶體,但不初始化,construct()來初始化。
2.new與malloc差別
new是運算符,有類型檢查,sizeof,會有對象的初始化,并執行構造函數和析構函數;malloc是庫函數,适用于内部資料類型;
3.auto_ptr(RAII)
存儲指針,并保證指針所指向對象作用域結束時銷毀對象。
再補充:
4. 對于頻繁的new/delete操作,要使用記憶體池。