РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
655 of 815 menu

Оператор delete[]

Оператор delete[] освобождает память, которая ранее была выделена для динамического массива с помощью оператора new[]. Он принимает один параметр - указатель на начало массива, память которого нужно освободить. Важно использовать именно delete[] для массивов, а не обычный delete, иначе поведение программы будет неопределенным. После освобождения памяти указатель становится недействительным, и его дальнейшее использование может привести к ошибке.

Синтаксис

delete[] ptr;

Пример

Давайте выделим память для массива из 5 целых чисел, заполним его значениями и затем освободим память с помощью оператора delete[]:

#include <iostream> using namespace std; int main() { int* arr = new int[5]; for (int i = 0; i < 5; i++) { arr[i] = i + 1; } for (int i = 0; i < 5; i++) { cout << arr[i] << " "; } cout << endl; delete[] arr; return 0; }

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте выделим память для массива строк, выведем их на экран и освободим память:

#include <iostream> #include <string> using namespace std; int main() { string* arr = new string[3]; arr[0] = "abcde"; arr[1] = "12345"; arr[2] = "hello"; for (int i = 0; i < 3; i++) { cout << arr[i] << endl; } delete[] arr; return 0; }

Результат выполнения кода:

"abcde" 12345 "hello"

Смотрите также

  • оператор new,
    который выделяет память для одного объекта
  • оператор delete,
    который освобождает память одного объекта
  • оператор new[],
    который выделяет память для массива
  • концепция RAII,
    которая управляет ресурсами через конструкторы и деструкторы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить