jfk20004
Messages postés39Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention13 novembre 2004
-
25 août 2004 à 19:09
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
26 août 2004 à 00:21
Quelle est la difference des 2 moyens de passer des
valeurs mais surtout leur interet respectif et dans quel cas
emploie t on l'un ou l'autre
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 25 août 2004 à 19:57
Le passage par valeur signifie que tu passes en parametres toutes les données contenues dans ma variable.
Si ta varaibles est "enorme", le passage par valeur va "handicapé" le programme d'un point de vue performance.
A l'inverse le passage par référence est similaire au passage par pointeur.
Tu indiques la position en mémoire du premier élément de ta variable.
Ainsi quelques soit la taille de ta varaible, tu n'auras que l'adresse de passé en parametres ce qui est un gain en performance pour les grosse variable.
De plus, connetant l'adresse de la varaible, tu peux modifier sa valeur par l'intermediaire de ta fonction.
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 25 août 2004 à 20:21
attention, tu n'as pas tout dit. pour simplifier encore plus ce qu'a dit deathcrash, lorsque tu passe par valeur, la fonction possedera une copie de l'objet passé en parametre, sinon par reference, la fonction possedera l'adresse de l'original. il y a donc entre les 2 une difference de place en memoire, de performance dans certains cas (un char passé par reference, tu passe 4 octets au lieu de 1, mais si tu veux travailler sur l'original, il vaut mieux faire comme ca). voila, en esperant que ca t'eclaire...
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 26 août 2004 à 00:21
on emploie le passage par reference au maximun, comme l'utilisation du passage par pointeur en c, et pour le retour par reference, il faut que l'objet retourner existe dans le contexte appelant, c'est à dire qu'il ne soit pas detruit à la fin de la fonction