1. 程式人生 > 其它 >C++記憶體分配策略(先分配再使用/邊分配邊使用)

C++記憶體分配策略(先分配再使用/邊分配邊使用)

C++中使用記憶體堆空間時,若已知整體資料量的大小,則優先分配一定空間再使用;不能一邊分配記憶體一邊使用

例如:

已知需要載入一部分檔案資料到記憶體中,且檔案資料中記錄的是一個一個同一類的例項物件資料

資料檔案結構:總的物件個數 + 連續的物件資料

載入讀取資料方式一:

1、讀取物件總個數

2、利用物件總數首先分配一定的堆空間

3、for迴圈中讀取一個一個的物件資料,並賦值到2中分配的記憶體空間中

載入讀取方式二:

1、while迴圈中,每次讀取一個物件資料,直至檔案結束

2、迴圈體中,每次向系統申請一個物件大小的堆空間,並讀取一個物件資料,賦值到剛才分配的空間中

載入讀取方式一 優於 方式二:一次性向系統申請足夠的記憶體,只需new一次,且系統給出的堆空間地址連續;比方式二多次呼叫new申請空間開銷小很多