usunąć operatora (C++)
Zwalnia blok pamięci.
[::] delete cast-expression
[::] delete [ ] cast-expression
Uwagi
Wyrażenie oddanych argument musi być wskaźnik do bloku pamięci uprzednio przydzielonych na obiekt utworzony z operatora new.Usunąć operator posiada wynik typu void i dlatego nie zwracają wartość.Na przykład:
CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;
Za pomocą usunąć na wskaźnik do obiektu nie jest przydzielone z Nowy daje nieprzewidywalne rezultaty.Można jednak używać usunąć na wskaźnik o wartości 0.Przepis ten oznacza, że podczas Nowy zwraca 0 w przypadku awarii, usuwanie wynikiem nieudanej Nowy operacji jest nieszkodliwe.Zobacz nowych i usunąć Operatorzy Aby uzyskać więcej informacji.
Nowy i usunąć podmioty gospodarcze mogą również służyć wbudowanych typów, włączając tablice.Jeśli pointer odnosi się do tablicy, miejsce puste nawiasy przed pointer:
int* set = new int[100];
//use set[]
delete [] set;
Za pomocą usunąć operator obiektu zwalnia jego pamięci.Program, który rozstrzyga wskaźnik po usunięciu obiektu może mieć nieprzewidywalne skutki lub awarii.
Gdy usunąć jest używana, aby zwolnić pamięć dla obiektu klasy C++, destruktor obiektu jest wywoływana przed dealokowaniu tego obiektu pamięci, (Jeśli obiekt ma destruktora).
Jeśli argument do usunąć operator jest modyfikowane przez wartość l, jego wartość jest niezdefiniowana, po usunięciu obiektu.
Przykład
Aby zobaczyć przykłady stosowania usunąć, zobacz operatora new.