Все, что вы выделяете с помощью new
, вы должны освободить с помощью delete
, иначе в вашем приложении будет утечка памяти.
В большинстве современных операционных систем (определенно ОС, которые люди обычно запускают на настольных компьютерах) все, что использует процесс, будет очищено по окончании процесса, поэтому, если вы забудете delete
, то память все равно будет освобождена , Однако не стоит полагаться на это.
Давным-давно я программировал на Amiga в C. Его операционная система была намного менее сложной, чем современные операционные системы. Если вы выделите память, а не освободите ее, она останется выделенной, пока вы не выключите или не перезагрузите компьютер, даже после завершения процесса. Утечки памяти были еще более серьезной проблемой.