在C++中,delete
關鍵字用于釋放動態分配的內存和銷毀對象。它有兩種主要的用法:
new
運算符動態分配內存時,必須使用delete
運算符來釋放該內存,防止內存泄漏。例如:int* ptr = new int; // 動態分配一個整數的內存
// 使用ptr
delete ptr; // 釋放內存
new
運算符創建一個對象時,對象的析構函數將在對象生命周期結束時自動調用。然而,如果我們要提前銷毀對象并釋放其內存,可以使用delete
運算符。例如:MyClass* obj = new MyClass; // 動態創建一個MyClass對象
// 使用obj
delete obj; // 銷毀對象并釋放內存
需要注意的是,使用delete
運算符釋放內存時,必須確保釋放的內存是通過new
運算符動態分配的。否則,行為是未定義的。另外,要避免重復釋放同一塊內存,這也會導致未定義的行為。