1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
1 | ||||||
Освобождение памяти из под Объектов в статическом массиве указателей25.07.2013, 20:36. Показов 4542. Ответов 10
Метки нет Все метки)
(
Всем добрый вечер! Решил расширить программу из книжки Лафорте Р. ООП в С++ стр. 574 путем добавления функции удаления данных о конкретном работнике..
0
|
25.07.2013, 20:36 | |
Ответы с готовыми решениями:
10
Массив указателей на список типа очередь - Освобождение памяти Освобождение памяти от объектов Освобождение памяти динамически созданных объектов |
![]() 516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
25.07.2013, 20:44 | 2 |
Покажите весь код.
1
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
25.07.2013, 20:46 | 3 |
У меня, кстати, вроде как тоже всегда выкидывало ошибку при освобождении памяти статических переменных. Думал, что это просто нельзя делать, но, погуглив сейчас, обнаружил, что должно отрабатываться нормально :0
0
|
![]() 516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
25.07.2013, 20:48 | 4 |
Если статический указатель, то ему можно делать new / delete неограниченное число раз. Если статический массив как в этом случае, то нельзя ни того, ни другого.
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
25.07.2013, 20:48 [ТС] | 5 |
Прошу обратить внимание на то что весь код кроме метода employee:
![]()
0
|
![]() 516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
25.07.2013, 20:50 | 6 |
ArkTaS, может все-таки код покажите?
Добавлено через 36 секунд Меня больше всего интересует определение этого несчастного массива.
0
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
25.07.2013, 20:53 [ТС] | 7 | |||||
Значит поэтому delete arrap[n] работает?! Остается только освобождать память в цикле по одному объекту для каждого указателя ??
Добавлено через 1 минуту Извиняюсь, забыл в первый раз добавь код определения. В самом низу оно.
0
|
![]() 516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
25.07.2013, 20:56 | 8 |
Нужно удалять память через delete для тех объектов, для которых она была выделена через new. Как вы видите, в массиве arrap операции new не было и не могло быть, потому что это статический массив, а не указатель.
Добавлено через 17 секунд Это касается не только этой задачи.
2
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
||||||
25.07.2013, 20:59 [ТС] | 9 | |||||
Вот метод который выделял память для каждого объекта
0
|
![]() 516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
25.07.2013, 21:00 | 10 |
В общем удаляйте каждый объект отдельно. Потому что память динамически выделялась для объектов а не для массива. Только не удаляйте те, которые еще не были созданы, иначе работать опять не будет.
1
|
1 / 1 / 1
Регистрация: 01.07.2013
Сообщений: 127
|
|
25.07.2013, 21:03 [ТС] | 11 |
Спасибо, ошибку понял "Потому что память динамически выделялась для объектов а не для массива".
1
|
25.07.2013, 21:03 | |
Помогаю со студенческими работами здесь
11
Освобождение памяти, выделенной под массив Освобождение памяти из под двумерного массива
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Protobuf в Go и новый Opaque API
golander 15.03.2025
Распределенные системы опираются на эффективные протоколы обмена данными — о чем вы, скорее всего, прекрасно знаете, если работаете с микросервисной архитектурой. Protocol Buffers (Protobuf) от. . .
|
Преобразование строк в C++: std::from_chars от C++17 до C++26
NullReferenced 15.03.2025
Конвертация строк в числа — задача, с которой сталкивается практически каждый C++ разработчик. Несмотря на кажущуюся простоту, эта операция таит множество подводных камней и неочевидных последствий. . .
|
Управление памятью в Java и новые сборщики мусора
Javaican 15.03.2025
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора. . .
|
Angular или Svelte - что выбрать?
Reangularity 15.03.2025
Во фронтенд-разработке Angular и Svelte представляют собой два совершенно разных подхода к решению схожих задач. Один — полноценный, мощный монолит с корпоративной поддержкой, другой — компактный,. . .
|
Spring Cloud микросервисы: обнаружение и отслеживание
Javaican 15.03.2025
В разработке корпоративных приложений всё больше команд обращают внимание на микросервисную архитектуру. Но с этой архитектурой приходят и специфичные трудности: как сервисам находить друг друга в. . .
|
Запуск контейнера Docker в облаке
Mr. Docker 15.03.2025
Что такое Docker-контейнер? Если коротко — это легковесный, автономный пакет, содержащий всё необходимое для запуска приложения: код, зависимости, библиотеки и конфигурации. Когда мы говорим о. . .
|
Осваиваем Kubernetes: Подробная шпаргалка
Mr. Docker 15.03.2025
Kubernetes — это открытая платформа для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями. Он был создан для решения проблем, с которыми сталкиваются. . .
|
Лучшие PHP REST API фреймворки
Jason-Webb 15.03.2025
Современные PHP REST API фреймворки предлагают большой набор функциональности: от автоматической валидации данных и управления маршрутизацией до генерации документации и интеграции с различными. . .
|
Многопоточность в Java с Project Loom: виртуальные или обычные потоки
Javaican 15.03.2025
Многопоточность всегда была одноим из основных элементов в разработке современного программного обеспечения. Она позволяет приложениям обрабатывать несколько задач одновременно, что критично для. . .
|
Что нового в Swift 6 и особенности миграции
mobDevWorks 15.03.2025
Swift 6 — это новый крупный релиз языка программирования от Apple, анонсированный на WWDC 2024. Если вы следили за эволюцией Swift, то наверняка заметили, что многие значимые возможности, которые. . .
|