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,
範例
使用 移除的範例,請參閱 新增 運算子。