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.