Delete (C++)
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
В языке программирования C++ оператор delete возвращает память, выделенную оператором new, обратно в кучу. Вызов delete должен происходить для каждого вызова new, дабы избежать утечки памяти. После вызова delete объект, указывающий на этот участок памяти, становится некорректным и не должен больше использоваться. Многие программисты присваивают 0 (нуль-указатель) указателям после использования delete, чтобы минимизировать количество ошибок программирования. Однако нужно отметить, что удаление нуль-указателя фактически не имеет эффекта, так что нет необходимости проверять нуль-указатель перед вызовом delete.
Фрагмент кода в качестве примера:
int *p_var = 0; // объявление нового указателя p_var = new int; // память динамически выделяется /* ....... остальной код ........*/ delete p_var; // память освобождается p_var = 0; // указатель заменяется на 0 (нуль-указатель)
Массивы, созданные (выделенные) при помощи new [], аналогичным образом могут быть уничтожены (совобождены) при помощи delete []:
int size = 10; int *p_var = 0; // объявление нового указателя p_var = new int [size];// память динамически выделяется /* ....... остальной код ........*/ delete [] p_var; // память освобождается p_var = 0; // указатель заменяется на 0 (нуль-указатель)
[править] См. также
[править] Ссылки
- Описание оператора delete в документации от IBM (англ.)
- Описание оператора delete применительно к Microsoft Visual Studio (англ.)
| Файл:Computer template.gif | Это незавершённая статья о программировании. Вы можете помочь проекту, исправив и дополнив её. |