[c++] Passage par référence d'un vector <>

Passage par référence d'un vector <> [c++] - C++ - Programmation

Marsh Posté le 21-04-2003 à 15:43:38    

je sais que c'est pas dans l'esprit du C++, mais bon, je me demande comment je pourrais passer un vector dans une fonction pour pouvoir modifier ce vector dans cette fonction.
 
Exemple:
 

Code :
  1. int main (void)
  2. {
  3.    vector <int> vi;
  4.    ma_fonction(vi);
  5. }
  6. void ma_fonction(vector <int> vi)
  7. {
  8.    vi.push_back(12);
  9. }


 
bon la je passe par valeur, donc quand je sors de ma_fonction, vi reprend se valeur précédente (vide).
 
J'ai bien essayé par pointeur, mais ca marche pas trop.
 
Si kk'un a une idée simple ? [:zaib3k]
 
_______________________________________
 
Edit: je pourrais bien sur faire un :

Code :
  1. vector<int> ma_fonction

au lieu d'un

Code :
  1. void ma_fonction

mais bon, je prefere l'autre méthode (par référence)


Message édité par ToxicAvenger le 21-04-2003 à 15:45:34
Reply

Marsh Posté le 21-04-2003 à 15:43:38   

Reply

Marsh Posté le 21-04-2003 à 15:56:46    

Achète un bouquin sur le c++

Reply

Marsh Posté le 21-04-2003 à 16:11:12    

Code :
  1. void ma_fonction(vector <int> & vi)  ?


 
Note : j'y connais rien en C++, hein.


Message édité par R3g le 21-04-2003 à 16:11:45
Reply

Marsh Posté le 21-04-2003 à 16:13:01    

verdoux a écrit :

Achète un bouquin sur le c++


 
 :kaola:  :kaola:  :kaola:

Reply

Marsh Posté le 21-04-2003 à 16:13:41    

R3g a écrit :

Code :
  1. void ma_fonction(vector <int> & vi)  ?


 
Note : j'y connais rien en C++, hein.


 
en C, j'aurais mis plutot * mais bon...

Reply

Marsh Posté le 21-04-2003 à 16:16:45    

le passage par référence est tres C++ est est d'ailleurs un apport majeur par rapport au C.
 

Code :
  1. void ma_fonction(vector<int> &vi)
  2. {
  3.   vi.push_back(12);
  4. }

est du tres bon C++. Il n'y a rien à redire.

Reply

Marsh Posté le 21-04-2003 à 16:17:00    

ToxicAvenger a écrit :


 
en C, j'aurais mis plutot * mais bon...


Et surtout, lis le bouquin.

Reply

Marsh Posté le 21-04-2003 à 16:21:09    

ToxicAvenger a écrit :


 
en C, j'aurais mis plutot * mais bon...


J'y connais rien en C++, mais je sais quand même que * est un pointeur, et & une reference. Evidemment, venant du Java je ne comprends pas qu'on puisse utiliser des pointeurs quand on a la possibilité d'utiliser des references, mais bon...

Reply

Marsh Posté le 21-04-2003 à 16:25:50    

++Taz a écrit :

le passage par référence est tres C++ est est d'ailleurs un apport majeur par rapport au C.
 

Code :
  1. void ma_fonction(vector<int> &vi)
  2. {
  3.   vi.push_back(12);
  4. }

est du tres bon C++. Il n'y a rien à redire.


 
 :jap:
 
Edit: ca marche impec


Message édité par ToxicAvenger le 21-04-2003 à 16:37:08
Reply

Marsh Posté le 21-04-2003 à 16:29:40    

R3g a écrit :


J'y connais rien en C++, mais je sais quand même que * est un pointeur, et & une reference. Evidemment, venant du Java je ne comprends pas qu'on puisse utiliser des pointeurs quand on a la possibilité d'utiliser des references, mais bon...

de toutes façons le langage C++ est un langage de valeurs, le Java un langage de références. Il y a plusieurs types de passage de paramètres en C++, le passage par référence du C++ ressemble au passage de paramètre Java.

Reply

Marsh Posté le 21-04-2003 à 16:29:40   

Reply

Marsh Posté le 21-04-2003 à 16:34:40    

++Taz a écrit :

de toutes façons le langage C++ est un langage de valeurs, le Java un langage de références. Il y a plusieurs types de passage de paramètres en C++, le passage par référence du C++ ressemble au passage de paramètre Java.  


 
En java, le passage est un passage par valeur de la référence (enfin je crois) [:zaib3k]

Reply

Marsh Posté le 21-04-2003 à 17:19:13    

j'ai dit ressemble. on procède comme si on avait une référence C++, mais personne n'ignore que les références Java sont des pointeurs déguisés

Reply

Marsh Posté le 21-04-2003 à 21:54:56    

++Taz a écrit :

j'ai dit ressemble. on procède comme si on avait une référence C++, mais personne n'ignore que les références Java sont des pointeurs déguisés


 
oui bon, de toutes facons j'ai reussi a faire ce que je voulais faire, donc c'est bon, merci  :jap:  
 
Pour ceussent qui sont intérrésés, c'est un viewer de map pour ceux qui developpent des map pour mon rpg:
 
http://dqg.free.fr en page download.

Reply

Sujets relatifs:

Leave a Replay

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