Lors du retour d'objets d'une classe, quel est le bon moment pour libérer la mémoire?
Exemple,
class AnimalLister
{
public:
Animal* getNewAnimal()
{
Animal* animal1 = new Animal();
return animal1;
}
}
Si je crée une instance de Animal Lister et que j'obtiens une référence animale, alors où dois-je le supprimer?
int main() {
AnimalLister al;
Animal *a1, *a2;
a1 = al.getNewAnimal();
a2 = al.getNewAnimal();
}
Le problème ici est qu'AnimalLister n'a pas de moyen de suivre la liste des animaux créés, alors comment changer la logique d'un tel code pour avoir un moyen de supprimer les objets créés.