Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpObDl 34 of 150 menu
◀ ▶

Удаление объекта - delete в C++

Память под объект в куче не освобождается сама - после работы адрес нужно вернуть системе оператором delete.

Команда delete p уничтожает объект по адресу p и освобождает эту память. Запишем класс User:

#include <iostream> #include <string> class User { public: std::string name; int age; User(std::string name, int age) : name(name), age(age) {} };

Создадим объект через new, выведем имя и удалим его:

int main() { User* p = new User("john", 21); std::cout << p->name << "\n"; delete p; return 0; }

После delete указатель больше не должен использоваться для доступа к полям - объект уже уничтожен. Запишем класс Counter:

#include <iostream> class Counter { public: int value; Counter(int value) : value(value) {} };

Создадим объект через new и удалим его через delete:

int main() { Counter* p = new Counter(10); std::cout << p->value << "\n"; delete p; return 0; }

Создайте объект Book через new, выведите название через указатель и освободите память через delete.

Создайте объект User оператором new User(1), выведите возраст и удалите объект.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить