[C++] Vector class et pointer

Vector class et pointer [C++] - C++ - Programmation

Marsh Posté le 29-03-2011 à 21:34:27    

Bonjour,
 
Me revoila avec un nouveau soucis de pointer mais cette fois ci avec des vecteurs class. Je fais passer un objet std::vector<MyClass> data dans une fonction nommée 'ModifyMaVector' (déclarée de la façon suivante 'void ModifyMaVector(std::vector<MyClass> data)') et dans cette meme fonction, j'utilise des data.push_back(MyClassObject) pour rajouter des objets de class myClass (que j'ai déclaré en faisant un MyClass MyClassObject un peu avant). J'appelle cette fonction dans une boucle for. elle est donc appelee i fois et chaque fois, elle doit normalement ajouter des elements via le push_back aux elements precedemment ajoutes.
 
Le probleme est que mon vecteur data est purgé lorsque le programme sort de la fonction à chaque boucle et je ne veux pas cela. Je cherche desesperement de savoir comment jouer avec les pointers pour pouvoir m'en sortir et faire que data ne soit pas purgé à chaque passage.
 
Anyone ?

Reply

Marsh Posté le 29-03-2011 à 21:34:27   

Reply

Marsh Posté le 29-03-2011 à 22:10:15    

c'est normal parce que tu passes ton vecteur pas valeur (i.e une copie est effectuee a chaque appel de ta fonction), utilise une reference:
void ModifyMaVector(std::vector<MyClass>& data)


Message édité par mr simon le 29-03-2011 à 22:11:01
Reply

Marsh Posté le 29-03-2011 à 22:25:42    

Nickel ca marche ! ;) Thx

Reply

Sujets relatifs:

Leave a Replay

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