【C++內存管理】11_G2.9 std::alloc 概念大整理

概念大整理

image.png

補充說明
  • list 節點向分配器請求的內存大小: sizeof(Foo) + sizeof(node<Foo>*) x 2

批鬥大會

image.png

學習使用: "常量 == 變量" 格式, 當漏泄等號時編譯器會發出編譯錯誤提示

注:較新的編譯器在 "常量 = 變量" 時一般也會發出編譯警告node


image.png

不推薦使用:對象的定義與使用不該間隔太遠,而應作到儘可能接近(間隔中途可能被修改,尤爲是指針時)

image.png

image.png

不推薦使用:可讀性不高,應該儘可能分行書寫

image.png

不推薦使用:可讀性不高

形式相同 :cookie

image.png


image.png

在同一個多進程的系統中,竭澤而漁會對其它進程產生災難性影響

對應到前一章最後的疑惑問題 2 :學習

system heap 手中還剩多少資源? 10000 - 9688 = 312.
可不能夠將失敗的那次索取折半...再折半...再折半...最終當索取量 <= 312 便能獲得知足

image.png

缺陷:內存未歸還系統

使用 malloc 在操做系統中進行內存申請,申請的內存會攜帶 cookie 進行標記,以輔助後續 free 進行內存釋放
在下圖可見, 標註的起始內存塊已不被自由鏈表管理,同時也沒法肯定對應 cookie 的內存塊都連續空閒spa

image.png

相關文章
相關標籤/搜索