1. 程式人生 > >用C++的 new 代替 C 的 malloc 進行記憶體分配

用C++的 new 代替 C 的 malloc 進行記憶體分配

例子:
(int*)malloc(100*sizeof(int)) 是先取得int型別的位元組寬度,然後乘100計算後得到400,然後呼叫malloc,並將400傳遞給函式,分配400位元組的記憶體空間,但是返回的是虛指標,即純地址,該地址的型別是未知的,也即缺少資料寬度的資訊。因此最後根據實際要求強制轉換為int *。
 
new int[100]是分配可儲存100個整數的記憶體空間,因為已給定資料型別,因此總共需要分配100*4=400位元組的空間,返回int *型別的指標。