Delete (C++)

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

В языке программирования C++ оператор delete возвращает память, выделенную оператором new, обратно в кучу. Вызов delete должен происходить для каждого вызова new, дабы избежать утечки памяти. После вызова delete объект, указывающий на этот участок памяти, становится некорректным и не должен больше использоваться. Многие программисты присваивают 0 (нуль-указатель) указателям после использования delete, чтобы минимизировать количество ошибок программирования. Однако нужно отметить, что удаление нуль-указателя фактически не имеет эффекта, так что нет необходимости проверять нуль-указатель перед вызовом delete.

Фрагмент кода в качестве примера: <source lang="cpp"> int *p_var = 0; // объявление нового указателя p_var = new int; // память динамически выделяется

/* ....... остальной код ........*/

delete p_var; // память освобождается p_var = 0; // указатель заменяется на 0 (нуль-указатель) </source> Массивы, созданные (выделенные) при помощи new [], аналогичным образом могут быть уничтожены (совобождены) при помощи delete []: <source lang="cpp"> int size = 10; int *p_var = 0; // объявление нового указателя p_var = new int [size];// память динамически выделяется

/* ....... остальной код ........*/

delete [] p_var; // память освобождается p_var = 0; // указатель заменяется на 0 (нуль-указатель) </source>

См. также

Ссылки


Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....