Что вы подразумеваете под "концом основного цикла" - после того, как цикл завершается, или только до того, как он повторяется?
Если первое, то вы можете безопасно оставить память выделенной при выходе из процесса, хотя это не рекомендуется. ОС восстановит его, вероятно, быстрее, чем вы, удалив каждый объект. Деструкторы вызываться не будут (поэтому, если они делают что-то важное, кроме освобождения ресурсов, связанных с процессом, не делайте этого). Инструменты отладки сообщат вам, что у вас есть утечки памяти, что не очень хорошо, но работает на операционных системах, которые вы называете.
Если последнее, то «маркировка памяти неиспользуемой, чтобы ее использовали следующие новые» - это именно то, что делает delete
(ну, после деструкторов). Однако некоторые распределители памяти специального назначения работают быстрее, чем распределители общего назначения. Вы можете попробовать использовать распределитель пула памяти вместо new / delete по умолчанию, если у вас много объектов одинакового размера.
«Я полагаю, что это повысит производительность»
К сожалению, мы не можем добиться повышения производительности, просто воображая их ;-p Сначала напишите код, измерьте производительность, а затем беспокойтесь об изменении своего распределения, как только вы поймете, с чем столкнулись. «Быстрее» почти бесполезно, если скучная и простая версия вашего кода уже «достаточно быстра». Обычно вы можете изменить свой механизм выделения без существенных изменений в остальной части вашего кода, так что вам не нужно беспокоиться об этом при предварительном проектировании.