ОС, выполняющая вашу программу, обычно выполняет очистку памяти, которая не освобождается явно, и обрабатывает, которые не закрываются явно, но это не гарантируется стандартом C ++. Вы можете найти какое-то встроенное устройство, которое не устраняет утечки памяти.
То, что Windows и все дистрибутивы Linux, которые я когда-либо видел, устраняет утечки памяти.
Вы можете легко создать огромный цикл утечек памяти, хотя сами можете проверить это. Наблюдайте, как растет объем используемой оперативной памяти, а затем закройте программу. Вы увидите, что использование оперативной памяти снижается.
Еще одно соображение при использовании C ++ состоит в том, что если вы не удаляете выделенную кучу памяти, ваши деструкторы также не вызываются. Иногда у вас будут и другие побочные эффекты, если ваши деструкторы не будут вызваны.