Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удалить объект, до вызова деструктора 
:(
    Опции темы
GRON
  Дата 18.1.2004, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Ребята, тут такая проблема. sad.gif sad.gif
Имеется связанный список - каждый объект имеет указатель на следующий и имя. Конструктор выделяет память для имени динамически и добавляет объект в конец списка. Деструктор эту память возвращает куче и удаляет объект из списка.
Так вот - задача такова: нужно удалить объект с заданным именем до его естественной смерти, т.е. до вызова деструктора (допустим по команде пользователя до завершения программы), при этом нужно снести его имя и удалить из списка. Проблема насколько я понимаю будет такая - деструктор после такой операции не найдет в списке объекта и память для него тоже не найдет... Дальше за программу я не ручаюсь... smile.gif
Как решить?
Если что-то объяснил непонятно - со мной часто такое бывает wink.gif - напишите, поясню.
Всем заранее спасибо.
С уважением, Алексей.

Это сообщение отредактировал(а) GRON - 18.1.2004, 20:27
PM MAIL   Вверх
shedon
Дата 18.1.2004, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 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
PM MAIL WWW ICQ   Вверх
GRON
Дата 18.1.2004, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



shedon
Насколько я понял, твое предложение - работать не с объектами , а с указателями на них, да?
PM MAIL   Вверх
shedon
Дата 18.1.2004, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Да


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
GRON
  Дата 18.1.2004, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



Хорошая мысля! notify.gif
Что ж спасибо, попробую применить этот принцип.
PM MAIL   Вверх
Ars
Дата 19.1.2004, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 28.8.2003
Где: Московская обл.

Репутация: 2
Всего: 2



Цитата
Имеется связанный список - каждый объект имеет указатель на следующий и имя.

Цитата
Насколько я понял, твое предложение - работать не с объектами , а с указателями на них, да?

Ихмо, в вопросе был ответ smile.gif



--------------------
Есть многое на свете, друг Горацио,
С чем очень долго можно прое..!
PM MAIL   Вверх
Guest
Дата 19.1.2004, 15:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ars
Это точно. Я заглючил. Потом уже думаю, че это со мной - ведь связанный список как раз работает не с объектами а с указателями? Торможу, бывает. smile.gif
  Вверх
Guest
Дата 19.1.2004, 15:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Это был я.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0749 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.