cs_noetom
Messages postés5Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention20 novembre 2005
-
20 nov. 2005 à 21:36
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008
-
21 nov. 2005 à 06:57
Bonjour,
Je fais un programme qui travaille avec un grand nombre d'image mais j'aimerai ne garder que 4 images à la fois en mémoire.
J'ai donc une classe CImage. J'ai tout d'abord créer un tableaux de 4
pointeus vers les CImage dont j'ai besoins. J'ai le pointeur de
la premiere image dans la case 0 du tableau et ainsi de suite jusqu'a
l'indice 3. A chaque itération j'ai besoin de supprimer la permiere
image, de décaler les autre ( la deuxieme passe premiere etc...) et
d'en ajouter une à la fin du tableau.
J'utilise un tabeau de pointeurs car je ne veux pas avoir à recopier
les images pour les déplacer dans le tableaux, pour des raisons de
rapidité.
J'ai donc fait comme ceci :
CImage *image[4];
j'alloue de la memoie pour chaque élément du tableau avec new CImage et je fais
ça marche pour les 4 premiere itération, mais des que les 4
premieres image chargées au départ sont censé toutes avoir été
supprimée et remplacées par des nouvelles, ça plante. La mémoire
utilisé se met a monter en fleche et ça plante.
entre 2 itération il y a trois images identiques (pointeurs vers les images) dans le tableau mais décalées d'une case.
j'ai un peu de mal avec les pointeurs et je me pense que je fais
un peu n'importe quoi. J'avais aussi penser utiliser des file (fifo)
mais je sais pas trop comment ça marche.
Ma méthode peut elle marcher efficacement (modifiée bien sur )ou dois je me tourner vers une autre méthode.