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

170
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 все норм собирается, последняя версия среды

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

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

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

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

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

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

144