Карлфиллип даст вам хороший совет.
Кроме того, я хочу добавить, что когда вы используете объекты, лучшим местом для их удаления является деструктор класса.
Вы должны быть осторожны, потому что, если вы дважды удалите что-то, ваша программа взорвется.
Есть полезный трюк, чтобы определить, был ли объект удален.
после их удаления вы можете установить указатель на ноль
delete foo;
foo=null;
в следующий раз вы можете проверить, равно ли оно нулю, и в противном случае удалить их. И самое лучшее ... даже если вы попытаетесь удалить нулевой указатель, ничего не произойдет! :)