共用方式為


delete 運算子 (C++)

解除配置的記憶體區塊。

[::] delete cast-expression
[::] delete [ ] cast-expression

備註

cast 運算式 引數必須是指標到先前配置的建立記憶體中的物件 new 運算子移除 運算子具有型別 void ,因此也不會傳回值。 例如:

CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;

使用在指標的 移除 物件沒有配置與 新增 會有無法預期的結果。 您可以使用,不過,在指標的 移除 具有值 0。 這個提供表示,,當在發生錯誤時新增 傳回 0 ,刪除已失敗的 新增 作業的結果是無害的。 如需詳細資訊,請參閱新的 新增與移除運算子

新增移除 運算子可以為內建型別也使用,包括陣列。 如果 pointer 參考陣列,在 pointer前面的放置空括弧:

int* set = new int[100];
//use set[]
delete [] set;

使用物件的 移除 運算子解除其記憶體。 取值指標的程式中,物件刪除後可能會產生無法預期的結果或損毀。

移除 用來解除配置 C ++ 類別物件的記憶體時,在物件的記憶體是解除配置前 (如果物件具有解構函式),物件的解構函式會被呼叫。

如果 移除 運算子的運算元是可修改的左值,物件中刪除之後,它的值是 undefined,

範例

使用 移除的範例,請參閱 新增 運算子

請參閱

參考

具有一元運算子的運算式

C++ 關鍵字

delete 運作方式

使用 delete

new 和 delete 運算子

operator delete 函式