Disons que j'ai une classe Object générique et une classe List générique. Je veux maintenir une liste de ces objets. Devrais-je les stocker comme List<Object>
ou List<Object*>
?Stockage d'une liste d'objets
Si j'utiliser List<Object>
et j'ai une méthode comme:
if(some_condition) {
Object obj;
myObjectList.append(obj);
}
Et ma classe de liste ne conserve qu'une référence à l'objet, dès que si la déclaration se termine, l'objet est détruit, et objet que j'ai poussé devient invalide. Alors, je finis par faire quelque chose comme:
Object *obj = new Object;
myObjectList.append(*obj);
Afin qu'il ne soit pas détruit. Mais maintenant les objets sont indélébiles, non? Parce que maintenant ils sont stockés en toute sécurité dans la liste comme des objets, pas des pointeurs vers des objets, donc je ne peux pas appeler supprimer sur eux ... ou seront-ils automatiquement détruits lorsqu'ils sont sortis de la liste?
Dans ce cas, je devrais probablement utiliser List<Object*>
et les supprimer de la liste quand j'en ai fini avec eux, non? Si confus ... Je suis sûr que j'ai un malentendu fondamental ici quelque part.
le problème est que vous programmez comme ceci est java ... ce n'est pas le cas. –
Eh bien, je ne viens pas d'un arrière-plan Java ou quoi que ce soit ... Je suis juste un peu attardé ce soir. – mpen