remplir un vector avec un iterator - Programmation

Marsh Posté le 25-04-2001 à 10:39:52   

Reply

Marsh Posté le 25-04-2001 à 10:58:34    

Ben c'est pas du tout ça.
Déjà ton itérateur est pas inititalisé.
Et puis tu delete les pointeurs que tu mets dans ton vecteur !
 
Pour remplir ton vecteur, utilise plutôt v.push_back(new S(si,sj)) (si S a un constructeur du type: S(int _x=0, int _y=0):X(_x),Y(_y){} )
 
Et pour désallouer la mémoire, tu pourras faire:
vector<S*>::reverse_iterator it = v.rbegin();
for(;it != v.rend(); ++it)  delete(*it);  
v.clear();

 

[edit]--Message édité par Verdoux--[/edit]

Reply

Marsh Posté le 25-04-2001 à 11:18:41    

Verdoux a écrit a écrit :

 
 
Pour remplir ton vecteur, utilise plutôt v.push_back  
 
 




 
je pouvais pas faire new...car c'est une struct et pas une classe (enfin pour ce que j'en sais...)
 
Mais avec push_back et une petite modif, ca marche bien !
Je te remercie ;-)

Reply

Marsh Posté le 25-04-2001 à 11:29:11    

Bluetooth a écrit a écrit :

 
 
je pouvais pas faire new...car c'est une struct et pas une classe (enfin pour ce que j'en sais...)
 
Mais avec push_back et une petite modif, ca marche bien !
Je te remercie ;-)




struct et class c'est fonctionnellement le meme chose meme si semantiquement c'est different...
donc tu peux faire,
S intermediaire
intermediaire.X=...
intermediaire.Y=...
new S(intermediaire)...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed