Показать сообщение отдельно
  #4  
Старый 20.05.2007, 18:29
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
По умолчанию

Цитата:
Убивает байт памяти, который становится недоступен ни данному процессу, ни другому?
Этот байт памяти никак не может быть доступен из другого процесса. Никогда. А из текущего процесса он доступен. Другое дело, что выйдя из процедуры указатель на память будет потерян. Но если как-то случайно записать именно по этому потерянному адресу, то ошибки не будет.
Потерянный указатель - проблема программиста в данном случае.

Да, после завершения процесса память освободится. Если вдаваться в технические подробности, то 1 байт никогда не резервируется, выделяется кусок памяти, когда он заполнится выделяется еще один и т.д.

Цитата:
Освобождать память от используемых на всем протяжении работы приложения структур тогда необязатьльно в его финальной части (как это делается во всей литературе). Правильно я понял?

А кто сказал что память освобождают именно в финальной части? Память освобождают когда хранящиеся в ней данные уже не нужны. Если этого не делать, ваше приложение может сожрать мегабайт 100 или больше оперативы. В зависимости от запущенности случая))
Но даже в конце работы приложения настоятельно советую освобождать память, это хороший тон.

вот кстати интересная ссылочка, на тему менеджера памяти в Делфи:
http://rsdn.ru/article/Delphi/memmanager.xml
Ответить с цитированием