|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 8
|
||||||||||||||||||||||||||||||||||||
Использование деструктора в односвязном списке с++06.05.2017, 14:17. Показов 1216. Ответов 5
Метки нет (Все метки)
Здравствуйте. Нужна срочная помощь!!!
Есть реализация односвязного списка в котором узел - класс, а не структура. Вначале программы произвожу выделение памяти для списка:
Если попробовать выделать память каждый раз после удалении списка(вызова delete), то все работает. Но я не пойму почему без этого не работает , ведь в деструкторе я описал только удаление нодов, список я не удалял.
0
|
||||||||||||||||||||||||||||||||||||
| 06.05.2017, 14:17 | |
|
Ответы с готовыми решениями:
5
Ошибка в односвязном списке |
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||||||
| 06.05.2017, 14:29 | ||||||
|
kesyk, Очень сложно помогать при таком скудном описании. Кода нужно больше кода показывать, а в идеале, предоставить минимальный компилируемый пример, воспроизводящий ошибку.
В любом случае, если было сделано
sl уже нельзя. Память для него была освобождена. Т.е. именно, что тут удалился и объект списка, и узлы тоже, если в его деструкторе было описано их удаление.
0
|
||||||
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
|
| 06.05.2017, 14:30 | |
|
мда, проблемный код, в котором всякие там delete вызываются вы посчитали не нужным приводить здесь? разумный ход.
0
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 8
|
|
| 06.05.2017, 16:17 [ТС] | |
|
Так в деструкторе я описал очищение только от узлов списка. Получается , что список все равно очищается полностью? Тогда как сделать,чтобы не было ошибки на этом месте? Законно ли в качестве решения повторно выделять память для списка, после того как удалили его?
0
|
|
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
|
| 06.05.2017, 16:24 | |
|
ну раз сообщения вы не читаете, то вот решение конкретно вашей проблемы:
вы спрашиваете законно ли ... да так можно. а можно ничего не делать. зачем удалять и потом создавать. эффективнее вообще ничего не делать. результат будет тем же. в памяти что-то будет находится. но, вдобавок к этому вы получаете и решение проблемы которая возникает у вас при некоторых вызовах delete. Итого: вообще удалите из кода все delete
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 06.05.2017, 16:32 | ||
|
Может быть стоит повторить эти темы в своем учебнике, прежде чем продолжать?
0
|
||
| 06.05.2017, 16:32 | |
|
Помогаю со студенческими работами здесь
6
Ошибка в односвязном списке Ошибка в односвязном списке Поиск в односвязном списке Указатели в односвязном списке Remove_at() в односвязном списке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|