|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.09.2015, 14:42 | #1 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
Удаление обьекта из управляемой кучи
Добрый день !
Можно ли удалить обьект из управляемой кучи ручным способом , а именно через оператор delete ? Код:
|
28.09.2015, 15:13 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
нет, нельзя
Благодарить в репутацию. Проклинать — туда же
|
28.09.2015, 15:24 | #3 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
так дело в том что при delete p; есть вызов деструктора.
из деструктора я могу же вызвать финализатор. |
28.09.2015, 15:28 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А почему не довериться уборщику мусора? Разве он деструктор не вызовет?
I'm learning to live...
|
28.09.2015, 15:35 | #5 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
В принципе, возможно, но есть риск разрушить стек, а это чревато очень непредсказуемыми последствиями. В DOS-е это можно было делать без проблем. С Виндой сложнее. Она, гадина, каждой проге выделяент квант опроса и найти, что она записала в стек, дорогого стоит. Да и сами разработчики, вряд-ли знают куда она чё пишет. Иногда, часть, файлов даже на жесткаче находится. Поди там разберись.
В общем, не советую туда лезть, если в дурдом попасть не хотите.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
28.09.2015, 15:36 | #6 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Для освобождения unmanaged ресурсов в определенное время (а не когда GC захочет) есть IDisposable.
Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 28.09.2015 в 15:38. |
|
28.09.2015, 15:37 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
ибо ТС, вы опять пытаетесь связать С++ и dotNET. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
28.09.2015, 15:42 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Доверяй, но проверяй. Не всегда можно на сборщик положиться. Лучше, это делать явным образом. Открыл динамику, значит закрой. Давненько было, лет пять назад. Писал прогу и пренебрёг этим правилом. Прога работала ровно 2 часа, потом винда выдавала - переполнение памяти. Причина банальная, в функции не вставил delete.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
28.09.2015, 15:43 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
28.09.2015, 15:48 | #10 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание управляемой web анимации | GODEXPERT | Фриланс | 4 | 30.03.2015 10:32 |
Создание управляемой web анимации | GODEXPERT | Фриланс | 5 | 12.01.2015 09:19 |
Сортировка КУЧИ!!! | bignick | Общие вопросы по Java, Java SE, Kotlin | 6 | 11.04.2011 23:08 |
Повреждение кучи | fosder | Помощь студентам | 0 | 08.12.2010 01:36 |