![]() |
|
![]() ![]() ![]() |
|
stalker1991 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 25.9.2009 Репутация: нет Всего: нет |
Доброго времени суток! Нуждаюсь в вашей помощи.
Есть такой код: (идея: 2 и 3-мерный масивы. под оба виделяется память и тут же оба удаляются. Утечки памяти нет, после удаления прога займет в ОЗУ примерно 2,5 мб (как и до запуска)).
теперь модифицирую код так, чтобы в один з элементов 3-хмерного масива копировался двухмерный. Тогда в цыклах удаления надо убрать этот 2-мерный масив В, так как при присваивании он уничтожается(?) и оператор delete[] выдает ошыбку. Перед помещением в 3-мерный из него удаляется содержимое для устранения засорения памяти. В таком коде есть утечка памяти.
Можете подсказать, в чем проблема? во втором случае при каждом нажатии кнопки прога кушает ~500 кб ОЗУ. Вроде бы немного, но этот код - часть цыкла генетического алгоритма, исчислений там очень много, поэтому довольно быстро прога доходит до 2 Гб и вилетает из ошыбкой виделения памяти. (если просто элементам присваивать значения вроде Ar2[1][2][4] = 8, то никаких проблем нет). И как бить, если надо вместо Ar2[1] = B; написать Ar2[1] = func (параметры), тоесть присвоить одному из элементов значениие функции. которая возвращает указатель на 2-мерный масив? |
||||
|
|||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Строка "Ar2[1] = B;" копирует указатель, в дальнейшем, память освобождается дважды, в чём и ошибка.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |