pb passage de parametres

pb passage de parametres - C++ - Programmation

Marsh Posté le 13-05-2003 à 23:58:04    

Voila le pb: une fonction récupère 2 paramètres de même type (pointeurs vers une structure), l'un par adresse, l'autre par valeur. Si les parametres sont identiques (ils correspondent au même pointeur) et que je modifie la valeur de celui transmis par adresse, est-ce que la modification aura bien lieu, malgré que l'autre soit transmis par valeur ?
 
J'ai du mal à m'y retrouver dans ce fatras théorique (si vous m'avez compris, bravo !), et j'hésite à bidouiller sauvagement mon code parcequ'il est délicat et que je m'y perds un peu (équilibrage d'arbre AVL).


---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 13-05-2003 à 23:58:04   

Reply

Marsh Posté le 14-05-2003 à 03:29:19    

Réponse claire et rapide: oui il sera modifié
 
Réponse plus développée:
 
En fait pour un passage en paramètre par valeur, il t'en fait une copie, donc c'est plus le même sur lequel tu "joues", tu as la valeur au moment ou on te l'a passé en paramètre point barre... Et si tu passes un int en valeur (disons A) et par adresse (disons B) à la même fonction tu vas modifier A sans que ca n'influe sur B et inversément, mais y a que si tu modifies B que l'int que tu auras passé sera lui aussi modifié.
 
T'as suivi?  [:ddr555]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 14-05-2003 à 08:49:47    

zion a écrit :

mais y a que si tu modifies B que l'int que tu auras passé sera lui aussi modifié.


[:meganne]... a l'exterieur de la fonction parce que dans la fonction, si tu modifies B, A gardera quand meme sa valeur initiale.

Reply

Marsh Posté le 14-05-2003 à 11:52:23    

:jap: on dirait que ça marche :D


---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 14-05-2003 à 13:33:36    

polo021 a écrit :


[:meganne]... a l'exterieur de la fonction parce que dans la fonction, si tu modifies B, A gardera quand meme sa valeur initiale.


 
c'est bien ce que j'ai dit [:boidleau]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Sujets relatifs:

Leave a Replay

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