Удаление многомерного массива

212
01 марта 2019, 08:20

Учебник- практикум Павловская Т. А.: Освобождение памяти массива с любым количеством измерений выполняется с помощью операции delete []. т.е.:

int ** mas = new int * [N];
for (int i=0; i<N; i++) mas[i]=new int [M];
delete [] mas --- ??????????

или правильно все же удалять циклом

for (int i=0; i<N; i++) delete [] mas[i];
delete [] mas;
Answer 1

Только циклом! Иначе вы получаете утечку памяти - вы удаляете только блок памяти, выделенный для указателей, но не блоки памяти, выделенные для указателей в этом первом блоке!

READ ALSO
Mac OS IntelliJ IDEA не работает Gradle

Mac OS IntelliJ IDEA не работает Gradle

Mac OS IntelliJ IDEA не работает Gradle На windows все норм собирается, последняя версия среды

193
Проблемы с кодировками Java

Проблемы с кодировками Java

Имеются файлы с кириллицей в названии и возможно в содержимом файловКодировка файлов windows-1251 (при этом кодировка файла исходника UTF-8, но его...

217
Приложение крашиться при запуске из BroadcastReceiver

Приложение крашиться при запуске из BroadcastReceiver

Вот код автозапуска службыКод срабатывает видно по логам

187