![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
GRON |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2003 Репутация: нет Всего: нет |
Ребята, тут такая проблема.
![]() ![]() Имеется связанный список - каждый объект имеет указатель на следующий и имя. Конструктор выделяет память для имени динамически и добавляет объект в конец списка. Деструктор эту память возвращает куче и удаляет объект из списка. Так вот - задача такова: нужно удалить объект с заданным именем до его естественной смерти, т.е. до вызова деструктора (допустим по команде пользователя до завершения программы), при этом нужно снести его имя и удалить из списка. Проблема насколько я понимаю будет такая - деструктор после такой операции не найдет в списке объекта и память для него тоже не найдет... Дальше за программу я не ручаюсь... ![]() Как решить? Если что-то объяснил непонятно - со мной часто такое бывает ![]() Всем заранее спасибо. С уважением, Алексей. Это сообщение отредактировал(а) GRON - 18.1.2004, 20:27 |
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
//Допустим создаёшь указатель на объект:
MyObject *m_oObject = NULL; // Создаёшь сам объект if(NULL != m_oObject ) m_oObject = new MyObject ; // Удаляем обьект, тот же код в деструктор if(NULL != m_oObject ) { delete m_oObject ; m_oObject = NULL; } -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
GRON |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2003 Репутация: нет Всего: нет |
shedon
Насколько я понял, твое предложение - работать не с объектами , а с указателями на них, да? |
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
Да
-------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
GRON |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2003 Репутация: нет Всего: нет |
Хорошая мысля!
![]() Что ж спасибо, попробую применить этот принцип. |
|||
|
||||
Ars |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
Ихмо, в вопросе был ответ ![]() -------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
||||
|
|||||
Guest |
|
|||
Unregistered |
Ars
Это точно. Я заглючил. Потом уже думаю, че это со мной - ведь связанный список как раз работает не с объектами а с указателями? Торможу, бывает. ![]() |
|||
|
||||
Guest |
|
|||
Unregistered |
Это был я.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |