學習AA大神c 設計新思維筆記 04小記憶體分配

2021-10-08 15:55:05 字數 1026 閱讀 6457

小型物件不能存在棧上?廉價而快速的動態分配.在堆上.主要就是各種策略類.

c堆分配器的簡單包裝.c通常分配(數百~數kb).而c++預設管理為8個位元組.如果是小物件,則很浪費.間接層(pimpl),則為堆

記憶體搜尋匹配演算法:最先,最佳,最差,隨機,**是也要來次線性搜尋.主要**的就是根據小型物件的專用分配器.其實就是加個限制條件,來求最佳解.

構 塊

;//pod

四個層級.我不喜歡.我覺得三個層級最好.

最底層,能省則省.未定義構造,析構,賦值函式.未設定塊大小,未被使用的第乙個位元組放下乙個未被使用區塊的索引號.即先就在mp資料裡面記下下個位置.

對(

;i!=塊;p+

=塊大小)

*p=++i;

//每塊上.加上索引

全靠這個.分配和歸還區塊時,常數時間.分配只分配乙個n位元組(塊大小,可大可小)?,塊不知道塊大小.

第2層:固定大小分配器.

就是乙個向量《塊》,同樣,分配與**.**時可用高速緩衝.但對小物件,這一辦法,好像沒多大用.其實,我感覺,可以用乙個大塊如1m來統一分配.不像它這樣,一層層的.

小型物件可能:批量分配,順序歸還,逆序歸還,偶爾歸還(高速緩衝有用.最好的方式還是根據需求,實現相應策略.使用者組裝.析構函式定義為虛,則刪 p時能夠正確的刪.

第3層,第四層,都是包裝.

當前有pmr,好像很厲害.

學習AA大神c 設計新思維筆記 05命令模式

呼叫者 命令 接收者.就這樣,就解耦了.可呼叫體,就是現在的函式 了.已經有了可變模板引數及可變函式引數.環境即繫結.函式子類物件用於封裝物件,成員函式,引數這樣,就是 槽位可換膚的關係.元 型名 r,類 型列 函式子 因為型列就是用型的列表,這樣用不變,代替了可變.複製是為了產生多型的物件.純虛,...

C 設計新思維(1)

本文所有的例證 在reactos 0.3.14 include c stlport type traits有所展示,這是reactos專案中的stl庫檔案 編譯期assertion template to safe reinterpret cast from from 要保證轉型時安全的,那麼必須保...

C 設計新思維 pdf格式

侯捷 於春景 合譯 c 設計新思維泛型程式設計與設計正規化 之 應用 前三章內容簡介如下 第 篇 技術 techniques 1 第1章以policy為基礎的class設計 policy based class design 3 1.1 軟體設計的多樣性 multiplicity 3 1.2 全功能...