Это очень зависимый от ОС вопрос.
В современной многопроцессорной ОС, которая использует виртуальную память (например, Windows 7, Linux), верно, что все (хорошо, не все , но давайте не будем придирчивыми) ресурсы обрабатываться -специфичный и будет возвращен в систему после завершения процесса.
Так имеет ли значение, если ваша программа "утечка памяти"? Ну, это зависит от того, как это происходит.
Если вы выделяете кучу ресурсов при запуске, нет особого значения, если вы вручную освободите их при завершении работы или просто дадите ОС сделать это. Я признаю, что был ленивым программистом, который любит, чтобы ОС справлялась с такими вещами.
Однако, если вы по какой-то причине выделяете ресурсы в цикле или по требованию во время выполнения и не пытаетесь каким-либо образом управлять ими, то теоретически, если вы позволите вашей программе работать достаточно долго, она будет постоянно «пропускать» ресурсы пока не настанет момент, что больше не осталось выделять. Это Плохая вещь . Не делай этого.
Сейчас существует множество платформ, которые не ведут себя таким образом. Если вам когда-нибудь придётся выполнять встроенную работу, вы, скорее всего, окажетесь на платформе, где вам придется управлять всеми своими ресурсами (свободная память вручную, закрывать дескрипторы файлов и т. Д.)