Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SMYH
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 38
#1

Удаление двумерного динамического массива из памяти - C++

23.03.2014, 08:36. Просмотров 1181. Ответов 5
Метки нет (Все метки)

Допустим дан двумерный динамический массив (созданный с помощью new). Как правильно удалить его из памяти? У меня есть три варианта:
C++
1
delete dynamicArray;
C++
1
delete[] dynamicArray;
C++
1
2
3
for(int i = 0; i<n; i++){
        delete[] dynamicArray;
}
Первый вариант,наверное, неверен, потому что мы таким образом отчищаем память от одной переменной. А есть ли какая - то разница между вторыми двумя?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 08:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление двумерного динамического массива из памяти (C++):

Удаление двумерного динамического массива символов - C++
Программа разбивает строку на слова и записывает каждое слово по отдельности в двумерный динамический массив, чтоб потом сравнить. Когда в...

Удаление двумерного динамического массива (матрицы) - C++
Вот так я создаю двумерный динамический массив. bool **gameFieldArray; gameFieldArray = new bool*; for (int i = 0; i &lt; height;...

Удаление двумерного динамического массива MSVS - C++
Здравия желаю. При работе с двумерными динамическими массивами столкнулся со странной ошибкой. Если попытаться удалять массив...

Корректное удаление двумерного динамического массива - C++
Доброго времени суток. В программе имеется двумерный динамический массив. Особенность его в том, что часть строк имеет больше столбцов,...

Правильное удаление динамического двумерного массива - C++
Доброго времени суток форумчани. Ну в общем перейду сразу к делу. О себе: сам пишу на JAVA (android),решил взяться за С++,разбираюсь с...

Вылетает функция очистки памяти двумерного динамического массива - C++
Я написал функции добавления и удаления столбцов и строчек двумерного динамического массива, создал меню, но когда сделаю несколько...

5
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
23.03.2014, 08:55 #2
C++
1
2
3
4
5
6
7
8
9
// Создание
int **arr = new int*[n];
for (int i = 0; i < n;  i++)
    arr[i] = new int[m];
 
// Удаление
for (int i = 0; i < n; i++)
    delete[] arr[i];
delete[] arr;
0
0x10
2479 / 1652 / 248
Регистрация: 24.11.2012
Сообщений: 4,095
23.03.2014, 08:56 #3
Вы для начала покажите как выделяете память. Освобождение должно быть прямо противоположным выделению.
Можно вообще для массива M*N выделить одним куском память для M*N и обращаться с помощью своей функции.
1
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
23.03.2014, 09:05 #4
Ну, с указателем на указатель работать быстрее ведь, чем с указателем на единый кусок
0
0x10
2479 / 1652 / 248
Регистрация: 24.11.2012
Сообщений: 4,095
23.03.2014, 09:23 #5
recoder, в любом случае константа по времени. А выделений и освобождений памяти меньше.
0
SMYH
2 / 2 / 0
Регистрация: 23.10.2013
Сообщений: 38
23.03.2014, 17:25  [ТС] #6
Выделение вот так вот происходит:
C++
1
2
3
4
int** dynamicArray = new int*[N];
for(int i = 0 ;i<N;i++){
        dynamicArray[i] = new int[M];
}
0
23.03.2014, 17:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2014, 17:25
Привет! Вот еще темы с ответами:

Удаление колонки (столбца) из динамического двумерного массива - C++
Сколько ни пытался, не смог понять/придумать как удалить столбец. Строка удаляется элементарно, но как это сделать со столбцом? 30 строка. ...

Пример динамического двумерного массива по стандарту C++, располагающегося в монолитном участке памяти - C++
Помогите пожалуйста привести пример динамического двумерного массива n на m в понимании стандарта Си++, так чтобы он весь располагался в...

Правильное удаление двумерного динамического массива ( нужен ли delete[] array ) - C++
В одном из постов форума Увидев код одного из участников форума: Я пришел в замешательство, когда мне сказали, что delete arr после...

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива - C++
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из отрицательных элементов двумерного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru