|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.05.2011, 20:48 | #1 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Освобождение памяти после исключения
Возник вопрос: следует ли использовать delete после неудачного выделения памяти? К примеру, какой код более грамотен:
Код 1 Код:
Код:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
27.05.2011, 22:17 | #2 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Нет --------------------------------------
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
27.05.2011, 22:30 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
нельзя сказать ни да ни нет, зависит от настроек компилятора(не помню что за параметр и у всех ли компилей)
обычно включено авто освобождение памяти, но можно и отключить. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
27.05.2011, 22:35 | #4 | |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Цитата:
Ну а если память не выделена, то и освобождать нечего
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
|
27.05.2011, 22:36 | #5 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Обнаружил, что у меня после исключения в указателе NULL, значит освобождать не следует, а значит и обломков там не должно быть.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
27.05.2011, 22:38 | #6 | |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Цитата:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
|
27.05.2011, 22:42 | #7 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
А нечего пользоваться тем что "кто-угодно" "забацал"
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
28.05.2011, 00:00 | #8 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,120
|
Syuf
следует ли использовать delete после неудачного выделения памяти? если выделение памяти прошло неудачно, то что именно ты собрался освобождать? К примеру, какой код более грамотен: из представленного - никакой. грамотный, а не быдло-код использует идиому RAII и смарт-поинтеры.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
28.05.2011, 02:58 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
там то память уже есть. правда я чтото не доглядел что речь именно про невозможность выделения памяти, там да, не выделится ничего. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
28.05.2011, 11:04 | #10 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Когда генерируется исключение - гарантируется что будут вызваны деструкторы всех созданных объектов.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Освобождение памяти | Seran4ek | Общие вопросы Delphi | 7 | 21.12.2009 18:07 |
Освобождение памяти | PUH | Помощь студентам | 1 | 22.11.2009 17:14 |
Освобождение памяти | VadEr | Общие вопросы Delphi | 2 | 17.04.2009 22:23 |
Освобождение памяти | AlexandrSid | Общие вопросы Delphi | 3 | 02.02.2009 13:45 |
Освобождение Памяти в Си | volotsky | Помощь студентам | 2 | 16.12.2008 22:36 |