Форум программистов, компьютерный форум CyberForum.ru

Правильное удаление двумерного динамического массива ( нужен ли delete[] array ) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на языке "C" http://www.cyberforum.ru/cpp-beginners/thread405521.html
Пусть дана матрица А размером n x m, состоящая из вещественных чисел. Необходимо получить матрицу В размером n x m, каждый элемент b которой равен true, если сумма соседних с a элементов меньше указанной величины S, и false – в противном случае.
C++ Реализовать длинную арифметику Здравствуйте! Не подскажете как реализовывать длинную арифметику с числами? Т.е. нужно, чтобы выполнялись базовые арифметические операции над длинными числами и над дробными. Мне нужны источники информации откуда можно копать и получить хорошие результаты. http://www.cyberforum.ru/cpp-beginners/thread405518.html
C++ Цифровое сортирование массива
Как реализовать "цифровое сортирование" массива на C++?
разобратся со структурами!!! C++
помогите пожалуйста, нужно в си темпы возрастания продуктивности работы работников в промышленности (1913г.=100%). Года | СССР| США| АНГЛИЯ| ФРАНЦИЯ 1928 | 120 | 137 | 94 |105 1940 | 422 | 166 | 105 |114 1950 | 580 | 209 | 122 |131 1955 | 837 | 250 | 139 |172 а) в каком году разница в темпах возрастания продуктивности работы во Франции и Англии...
C++ Поменять местами угловые элементы матрицы http://www.cyberforum.ru/cpp-beginners/thread405504.html
Есть матрица A 3x3 {1,2,3}, {4,5,6}, {7,8,9} нужно поменять местами угловые элементы матрицы. как реализовать не пойму, помогите.
C++ Вывести все целые числа, расположенные между данными числами, включая сами эти числа, в порядке их возрастания Вот собственно задачи, решение которых мне бы очень помогло, за решение каждой из них буду очень признателен: 1 - Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения. . Вывести полученные значение.(через if) 2 - Ввести с клавиатуры N целых чисел (N>0) и вывести... подробнее

Показать сообщение отдельно
Bers
Заблокирован
13.12.2011, 00:52     Правильное удаление двумерного динамического массива ( нужен ли delete[] array )
Что б не думалось, достаточно выполнить маленький эксперимент:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct Test
{ 
    Test() { cout<< "Test: Создаюсь\n"; }
   ~Test() { cout<< "Test: удаляюсь\n"; }
    int a;
};
 
int main(int argc, char *argv[])
{
    const int m=3;
    Test** arr= new Test*[10]; //создали массив указателей
    
    for(int i = 0; i < m; i++)
    {
        arr[i] = new Test[m];//создали сами объекты
    }
    
    delete [] arr;  //вывод: сообщения о создании объектов. 
                    //       сообщения об удалении объектов отсутствуют
                    //Итого: утечка памяти. Объекты остались в памяти
                    //       А удалены были только 
                    //       указатели на массивы этих объектов
     
    return 0;
}
Добавлено через 4 минуты
Утечка памяти:

C++
1
2
3
for(i = m - 1; 0 <= i; i--)
* * * * * * * * delete [] arr[i]; //удалил массивы объектов, 
                                       //но забыл удалить массив указателей
 
Текущее время: 06:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru