Страницы

Поиск по вопросам

воскресенье, 31 марта 2019 г.

Освобождение памяти из под динамического массива (с++)

Если динамический массив создается (через new) внутри какого-то блока кода, например, внутри if, то освобождение памяти через delete нужно производить внутри этого же блока? if (count != 0) { int *masPos = new int[count]; int *masNeg = new int[n - count];
//...
delete [] masPos; delete [] masNeg; }


Ответ

Это не имеет принципиального значения. int *masPos = NULL; if (something) { masPos = new int[10]; }
...
if (masPos) { delete [] massPos; } Как правильно заметили выше, нужен только указатель на массив

Комментариев нет:

Отправить комментарий