Освобождение памяти из-под массивов фиксированной длины
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 29.10.14 12:26
Оценка:
Есть класс CIntegrator, производящий вычисления. В этом классе есть ряд массивов фиксированной длины (одномерных и двухмерных):
long double array1[15];
long double array2[15];
long double array3[15][2];
long double array4[15][2];
long double matrix1[15][15];
long double matrix[15][15];

У этого класса есть деструктор ~CIntegrator с пустым кодом.
Есть и у класса CIntegrator n методов -- method_1, ..., method_n, которые производят некоторые вычисления.

Класс CIntegrator вызывается с помощью указателя из некоей функции:

CIntegrator* pCIntegr = new CIntegrator(/* параметры конструктора */); // вызываем конструктор
pCIntegr->method_1; // вызываем метод method_1 класса CIntegrator;
// ...
pCIntegr->method_n; // вызываем метод method_n класса CIntegrator
delete pCIntegr; // уничтожаем указатель на объект класса CIntegrator

В связи с этим у меня возникает вопрос: после вызова delete pCIntegr эти массивы array1, array2, array3, array4, matrix1, matrix2 также будут уничтожены--то есть память из-под них будет высвобожена? Или же, для того, чтобы освободить память из-под этих массивов, надо предпринимать какие-то действия--например, вызов delete или free ?
1613 г. = 2024 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.