В C ++ никогда.C ++ не является сборщиком мусора.Ближайшим будет RAII , который в основном обертывает вещи, которые нуждаются в очистке, в объекты, которые выполняют очистку в своем деструкторе.Я не могу вдаваться в подробности, так как на самом деле я не очень много использую C ++.
В качестве отступления: даже на языке GC GC хорошо работает только для памяти.Явная очистка все еще необходима для таких вещей, как соединения SQL, файловые дескрипторы и т. Д.
Итог: Вы всегда должны очистить, как только закончите. (Если в документации не говорится, что это не нужно)