J'ai la classe A. La classe A est responsable de la gestion de la durée de vie des objets B et contient le conteneur des objets B map<BGuid,B>
, et chaque objet B contient le conteneur des objets C map<CGuid,C>
.J'ai un global A objet pour l'ensemble de l'application.Recherche des enfants
J'ai le problème suivant: J'ai l'objet CGuid et je veux l'utiliser pour trouver mon objet C. Mais pour cela j'ai aussi besoin de connaître l'objet BGuid qui me dira dans quel objet B je devrais regarder mon objet C. Mais tout ce que j'ai est le CGuid, ce qui signifie que je dois vérifier chaque objet B pour voir s'il contient mon objet C. Cependant je pense que c'est en désordre. Je pensais que peut-être je devrais avoir une autre classe M qui contiendra la carte de tous mes objets C, et je peux y chercher directement avec CGuid, mais cela signifie que je dois maintenir une carte supplémentaire juste pour la recherche.
Aussi, je l'exception à l'avenir ma classe C pour contenir map<Dguid,D>
donc j'aurai le même problème pour les objets D, cette fois encore pire, j'aurai besoin de Bguid, Cguid et Dguid pour trouver mon objet D.
Comment résoudre ce problème?
Je veux juste dire que mes GUIDs sont les pointeurs réels aux objets, i.e. BGuid est B * et ainsi de suite. Je ne peux pas changer ça. – user152508
Qu'est-ce qui constitue la "découverte" d'un objet si ce n'est pas un pointeur? – Puppy
Ok, c'est vrai. J'ai mal écrit. J'ai un pointeur vers un autre objet, pas l'objet lui-même. – user152508