У меня есть программа, которая выполняет следующиеДолжен ли я освобождать память для короткой программы, если память не является проблемой?
- Выделение памяти (кучи)
- некоторой обработки
- Выделяет больше памяти (кучи)
- некоторой обработка
Это делает поэтому несколько раз выходите.
На самом деле, я не забочусь об объеме памяти программы, только время выполнения.
Было бы плохо, если бы не было свободной памяти в учетной записи, что на самом деле потребуется больше времени для обработки бесплатного/удаления, чем просто пропустить ее и перейти к следующему шагу.
В конце концов, программа выйдет, и это уже не имеет значения.
Я понимаю, что единственный способ быть уверенным - это сделать некоторые тесты на моем компьютере, но меня интересуют теоретические плюсы и минусы.
NB: давайте предположим современную ОС, которая очистит память при выходе.
Возможный дубликат http://stackoverflow.com/questions/36584062/should-i-free-memory-before-exit –
Это действительно невозможно ответить, иногда 'free()' будет выигрывать время. – Stargateur
В этом случае вам может быть лучше всего работать в глобальных буферах/структурах. Это зависит от вашего варианта использования и действительно ли вы заранее знаете, каковы ваши максимальные требования. Если вы используете C++, вы должны использовать RAII, поэтому вы либо помечали это по ошибке, либо вы действительно должны прочитать, что такое RAII. – kamikaze