C++在回收用 new 分配的單個對象的內存空間時,直接用 delete;回收用 new[] 分配的數組對象的內存空間時,需要用 delete[]。
調用 new 所包含的動作:從系統中申請一塊內存,并調用對象的構造函數;調用 delete 所包含的動作:先調用對象的析構函數,然后將內存歸還系統;調用 new[n] 所包含的動作:申請可容納 n 個對象的空間,并調用 n 次構造函數來初始化這 n 個對象;調用 delete[] 所包含的動作:先調用 n 次對象的析構函數,再將內存歸還系統。比如下面這段代碼:

運行結果為:
需要注意的是:若將 delete[] stuArr 改為 delete stuArr,則會導致 stuArr 指向的2個Student對象中的剩余1個未被銷毀,造成內存泄漏。

步驚云