20200326_delete與delete[]
一、相關術語
- delete
C++關鍵字delete,用於釋放new出來的指針資源。
二、筆試題
請列出delete與delete[]的區別。
答:1、delete只調用一次析構函數。delete[]將調用每個成員的析構函數。
2、delete與new配對使用,delete[]與new []配對。
3、對於內建簡單數據類型(int,double),delete和delete[]的功能相同。例如:
int* pIntA=new int;
int*pIntB=new int[10];
delete[] pIntA;
delete[] pIntB;
編譯器VS2017不會報錯。
這是因爲【內建數據類型沒有析構函數】。
4、delete指向的是一個指針,delete[]指向的是一個數組。
知識擴展
malloc和free。
(內容太多,待補全)
本文歸類
建議歸類到【C++】。
明日計劃
Windows10進入安全模式。
參考文獻:
《C++筆試面試寶典2011版.docx》