|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
||||||||||||||||
Динамически созданные классы25.03.2021, 19:04. Показов 2697. Ответов 20
Привет. Имеются 2 класса: Album, содержащий альбом(-ы) группы, в который также включен другой класс Song, где хранятся песни из этого альбома. Так выглядит их структура:
0
|
||||||||||||||||
| 25.03.2021, 19:04 | |
|
Ответы с готовыми решениями:
20
Классы. Объявить массив динамически и сделать указатель на объект в динамической памяти Динамически созданные кнопки Динамически созданные компоненты |
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
||
| 25.03.2021, 19:54 | ||
Сообщение было отмечено Skel как решение
РешениеSetAlbumSongs? Почему оно не приведено в вашем вопросе? Как мы должны догадаться, что этот метод делает?Запоминает указатель на массив? Так вы же потом сразу уничтожаете этот массив. Как это должно работать, по-вашему?
0
|
||
|
Гвоздь Задиров
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
|
||||
| 25.03.2021, 20:00 | ||||
|
1
|
||||
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
||
| 25.03.2021, 20:01 | ||
TestSong. Разумеется, во всех альбомах будут одни и те же песни - какие песни последними записались в TestSong, те и будут. Почему вас это удивляет?
1
|
||
|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
||||||
| 25.03.2021, 20:59 [ТС] | ||||||
0
|
||||||
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
|
| 25.03.2021, 21:03 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
|
| 25.03.2021, 21:06 [ТС] | |
|
Это void-функция. Она просто запрашивает данные для альбомов и песен и заполняет эти данные, на вход ничего, она все внутри себя создает;
Я уже понял, что удалять было глупой идеей, поэтому тот массив son стал как бы временным. Из него я копирую 4 песни для первого альбома в TestSong, затем этот TestSong передаю альбому 1. И так далее все 3 альбома; Аккуратнее с памятью работать в каком смысле? Если ты про проверки на то, удаляются ли массивы потом, то это не проблема, я предусмотрел.
0
|
|
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
|||
| 25.03.2021, 21:11 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
|||||||
| 25.03.2021, 21:13 [ТС] | |||||||
0
|
|||||||
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
||
| 25.03.2021, 21:15 | ||
TestSong - в строке 9. Вот этот один-единственный массив вы передаете во все альбомы. Откуда тут мог взяться "каждому отдельному альбому свой"???Покажите мне пальцем, где вы в своей программе создаете "каждому отдельному альбому свой".
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
||
| 25.03.2021, 21:16 [ТС] | ||
|
0
|
||
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
|||
| 25.03.2021, 21:22 | |||
TestSong уже ссылаетесь из предыдущего альбома. И вы при обработке нового альбома затираете данные в этом массиве. В результате все данные предыдущего альбома затираются. Что тут непонятного?Массив TestSong у вас один на все альбомы. Какие данные вы в него запишете последними - такие и будут видны изо всех альбомов. Именно это вы и наблюдаете.Добавлено через 4 минуты Song* Songs; именно на этот массив. Пока этот указатель хранится в альбомах, доступ к массиву у вас не потерян и память не является утекшей.
1
|
|||
|
Гвоздь Задиров
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
|
||||||
| 25.03.2021, 21:25 | ||||||
|
Skel, Короче, вот пример без лишней мишуры:
1
|
||||||
|
Гвоздь Задиров
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
|
|||
| 25.03.2021, 21:35 | |||
|
1
|
|||
|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
|
| 25.03.2021, 21:40 [ТС] | |
|
Точно, а ведь просто не надо было удалять эти массивы. Просто я привык при выделении чего-либо динамического сразу где-нибудь его удаление делать. Спасибо за ответы
0
|
|
|
Вездепух
12919 / 6787 / 1817
Регистрация: 18.10.2014
Сообщений: 17,169
|
|||||||
| 25.03.2021, 21:51 | |||||||
|
Кто будет владельцем выделенной памяти в каждый момент времени - решать вам. В вашем коде все выглядит так, что при вызове
son альбому alb[i]. После этого вы уже не должны "сразу" освобождать массив son. Это alb[i] будет освобождать эту память тогда, когда придет время.--- Вот для того, чтобы не переусложнять эту тему, и придуманы контейнеры и/или умные указатели. Которым вы в своем коде почему-то не пользуетесь.
2
|
|||||||
|
0 / 0 / 0
Регистрация: 23.08.2020
Сообщений: 19
|
||
| 25.03.2021, 21:53 [ТС] | ||
|
0
|
||
|
Гвоздь Задиров
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
|
||||||||
| 25.03.2021, 22:35 | ||||||||
![]()
2
|
||||||||
| 25.03.2021, 22:35 | |
|
Помогаю со студенческими работами здесь
20
Динамически созданные кнопки Как удалять динамически созданные компоненты? Динамически созданные компоненты ведут себя так, будто их высота больше, чем есть Динамически созданные компоненты Динамически созданные обьекты? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|