Bonjour j'ai (encore) une question de C++, mais là c'est plus de la conception.
Pour simplifier, j'ai pour mon programme une classe A qui est représentée par une image, qui varie selon les argument passés au constructeur. Je cherche à ne pas "stocker" l'image dans mon objet afin que si plusieurs objets A utilisent la même image, il n'y ait qu'une seule image en mémoire dans le programme.
Comment faire? J'ai plusieurs idées mais je suis pas sûr de comprendre ce qui va se passer concrètement si je les essaie :
- A priori l'idéal ça serait que j'envoie le nom de fichier de l'image dans le constructeur de A, et qu'il stocke le fichier en mémoire si il n'y est pas, et puis ensuite que de toute façon il pointe dessus par attribut. Le prob : comment je vais pouvoir gérer tout ça vu que je serai dans mon constructeur ?
- Une autre possibilité ça serait que je créé mes images par avance, et que je les envoie par référence au constructeur de A, qui lui stocke juste un pointeur... mais ça va vite être lourd à écrire et c'est pas vraiment possible à automatiser, enfin c'est pas top de devoir créer plein d'objets annexes que je vais plus ou moins paumer après et jamais m'en servir directement
- D'autre part quand je vais effacer mes éléments de la classe A, il faudrait aussi que je puisse libérer la mémoire que prend les images associées...
Bref je vois pas trop comment faire ça "proprement"... une idée?
Partager