[C++]Passage d'un vecteur en paramètre

Passage d'un vecteur en paramètre [C++] - C++ - Programmation

Marsh Posté le 04-05-2004 à 09:08:43    

Je dois passer un vecteur en paramètre dans une fonction, je dois pouvoir modifier celui ci dans cette fonction mais je ne vois pas trop comment faire ce passage, quelqu'un pourrait m'aider ?  
 
Pour la déclaration de ce vecteur et de l'itérateur je dois la faire dans .cpp ou le .h ?  
J'aurais probablement besoin de l'interateur dans la fonction aussi, est ce qu'l faut que je le passe et si oui comment ?
 
Je sais ça fait beaucoup de questions là mais je suis un peux paumé lol
 
Merci d'avance pour les réponses


Message édité par nightmare682 le 04-05-2004 à 09:09:34
Reply

Marsh Posté le 04-05-2004 à 09:08:43   

Reply

Marsh Posté le 04-05-2004 à 09:12:35    

- pour le passage et la modif tu fais par reference
- si c'est un attribut de ta classe, faut le declarer dans le .h
- pour l'iterateur tu le creer dans ta fonction, c'est plus simple...


---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
Reply

Marsh Posté le 04-05-2004 à 09:30:48    

Tu saurais me donner un chti exemple de passaged'un vecteru par référence ? jeme remet au c la je suis paumé.
 
Sinon leprob pour mon iterateur c'est que lorsque j'appelle la procedure une deuxième foi il ne faut aps qu'il se remette à 0 donc je dois le déclarer en dehor.

Reply

Marsh Posté le 04-05-2004 à 09:36:11    

nightmare682 a écrit :

Sinon leprob pour mon iterateur c'est que lorsque j'appelle la procedure une deuxième foi il ne faut aps qu'il se remette à 0 donc je dois le déclarer en dehor.


ou alors dans la fonction mais en static...
 
pour l'exemple ben truc du genre je pense :

Code :
  1. void fonction(vector& V)
  2. {
  3.     //la t'utilise ton vecteur
  4.     V.machinChose();
  5.     ...
  6. }
  7. int main()
  8. {
  9.     vector vec = new vector(10);
  10.     fonction(&vec);
  11.     //et la ton vecteur est modifie
  12.     ...
  13. }


 
j'utilise pas bcp les vector donc si c'est faux j'espere qu'on me corrigera :p


Message édité par myst78 le 04-05-2004 à 09:39:44

---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
Reply

Marsh Posté le 04-05-2004 à 09:40:48    

bon allez myst au revoir, t'as jamais fait de c++ ... t'es encore plus nul que celui qui demande conseil ... ton truc est même pas correct au niveau des types
 
nightmare682 > ton "vecteur", c'est un std::vector<> ?

Reply

Marsh Posté le 04-05-2004 à 09:41:15    

myst78 a écrit :


vector vec = new vector(10);


 
 :heink: c'est quoi cette manie ???


Message édité par Joel F le 04-05-2004 à 09:42:35
Reply

Marsh Posté le 04-05-2004 à 09:43:29    

Joel F a écrit :

:heink: c'est quoi cette manie ???

mais le pire cai aussi le & la ligne en dessous

Reply

Marsh Posté le 04-05-2004 à 09:44:03    

Taz a écrit :

mais le pire cai aussi le & la ligne en dessous


 
han ! j'avais pas vu ...
 

Reply

Marsh Posté le 04-05-2004 à 10:08:00    

pour la declaration il a dit qu'il avait deja son vector, donc j'ai pas pense a faire une syntaxe parfaite, un std::vector<int> par exemple c'est sur ca va mieux marcher...
et pour la transmission ok c'est vrai j'utilise jamais les vector et je pensais ca marchait comme un objet
donc y'a pas besoin du & c'est ca ? suffit juste de passer le vector direct ca marche comme un tableau ?


---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
Reply

Marsh Posté le 04-05-2004 à 10:10:48    

allez, retourne jouer, ça serait un simple int le problème serait exactement le même ... et je ne ose penser à ce que tu as compris des tableaux ...

Reply

Marsh Posté le 04-05-2004 à 10:10:48   

Reply

Marsh Posté le 04-05-2004 à 10:16:49    

Au risque encore de me faire insulter :)

Code :
  1. #include<vector>
  2. using std::vector;
  3. void fonction( vector<int> & V)
  4. {
  5. // La, tu utilises ton vecteur V
  6. V.push_back(7);
  7. //...  
  8. }
  9.  
  10. int main()
  11. {
  12. vector<int> tableau(10);
  13. fonction(tableau);
  14. // et la ton vecteur est modifie  
  15. }


---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 04-05-2004 à 10:18:01    

c'est sur que qd on maitrise un sujet, c'est vachement plus facile de casser qqn et de l'envoyer chier que de lui expliquer ses erreurs... :heink:  
 
heureusement que tu sais faire qqc ds ta vie avec la programmationm parce que niveau relations humaines t'es a la rue... :o


---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
Reply

Marsh Posté le 04-05-2004 à 10:19:54    

myst78 a écrit :

c'est sur que qd on maitrise pas du tout un sujet, c'est vachement plus facile de fermer sa gueule et de ne pas entraîner les autres dans ses erreurs et incompréhensions.  


 
xterm > ok

Reply

Marsh Posté le 04-05-2004 à 10:21:01    

nightmare682 a écrit :

Tu saurais me donner un chti exemple de passaged'un vecteru par référence ? jeme remet au c la je suis paumé.
 
Sinon leprob pour mon iterateur c'est que lorsque j'appelle la procedure une deuxième foi il ne faut aps qu'il se remette à 0 donc je dois le déclarer en dehor.


 
Pourquoi ne pas passer en argument l'itérateur plutot que le tableau tout entier. taz & joel pourront mieux te conseiller surement.


---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 04-05-2004 à 10:42:54    

bah en passant une référence ca revient strictemenbt au même

Reply

Sujets relatifs:

Leave a Replay

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