malloc ?free
?與
new?? delete
(1)分配空間時,malloc只給變量或對象(數組)在內存中申請足夠的空間,而沒有創建類的對象。
????? 而new則構造完整的對象
(2)釋放內存時,free只消除掉該對象指向的內存,而原對象沒有調用析構函數。
??? delete 在每個對象釋放前都要調用析構函數。
格式:
char *p=(char *)malloc(10*sizeof(char));
free(p);

char *p=new char[10];
delete [] p;
//其中delete 格式中[ ]表示刪除相應的對象數組;而缺少[ ]時表示刪除單一的對象。