Sdílet prostřednictvím


Odstraňte operátor (C++)

Zruší přidělení bloku paměti.

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

Poznámky

Výrazem přetypování argument musí být ukazatel na blok paměti dříve přidělen pro objekt vytvořený s operátor new.Odstranit operátor má výsledek typu void a proto nevrátí hodnotu.Příklad:

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

Pomocí Odstranit na ukazatel na objekt není přidělena s nové dává neočekávané výsledky.Můžete však použít Odstranit na ukazatel s hodnotou 0.Toto ustanovení znamená, že při nové vrátí hodnotu 0 při selhání, odstranění výsledek nezdařeného nové operace je neškodný.Viz nové a odstranit operátory Další informace.

Nové a Odstranit operátory lze používat také předdefinované typy, včetně polí.Pokud pointer odkazuje na matici místo prázdných hranatých závorek před pointer:

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

Použití Odstranit operátor objektu zruší přidělení paměti.Program, který dereferences ukazatel po odstranění objektu může mít nepředvídatelné výsledky nebo selhání.

Při Odstranit je použita navrátit paměť pro objekt třídy jazyka C++, destructor objektu nazývá před paměti objektu je platný (Pokud má objekt destruktor).

Pokud operand na Odstranit operátor je měnit hodnotu l, jeho hodnota je undefined po odstranění objektu.

Příklad

Příklady použití Odstranit, viz operátor new.

Viz také

Referenční dokumentace

Výrazy s unární operátory

Klíčových slov jazyka C++

Jak odstranit sady Works

Odstranit pomocí

nové a odstranit operátory

Funkce operátor delete