ili chamad
Messages postés4Date d'inscriptionlundi 26 septembre 2005StatutMembreDernière intervention 6 mai 2006
-
29 sept. 2005 à 20:06
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011
-
30 sept. 2005 à 15:31
bonjour,,,,,
je voudrai svoir quand il faut utiliser les references comme variables ou parametres dans les fonctions.....
merci,,,,,
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 29 sept. 2005 à 20:16
Un exemple :
void Modif(int i){i++;}
void Modif2(int &i){i++;}
int main()
{
int a=5;
Modif(a);
printf("a : %i\n", a);
Modif2(a);
printf("a : %i\n", a);
system("pause");
return 0;
}
ça renvoit :
a : 5
a : 6
La premiere fonction qui prend un entier comme paramètre ne modifie pas
directement la variable. Elle copie la valeur dans une autre variable
et la modifie tout le long de la fonction
Tandis que la fonction Modif2 qui prend l'adresse mémoire d'un entier,
ne recopie pas la variable mais modifie directement depuis l'adresse
mémoire.
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011 30 sept. 2005 à 15:31
ça peux surtout accélérer ton exécution:
int f(const A a,const B&b,C c, D &d,E*pE)
{..}
pour A & C : l'objet entier est recopié
pour B & D & E: seule l'adresse est recopiée
avec D & E , tu peux modifier ton objet
par habitude, je n'utilise jamais l'écriture D
car juste en regardant l'appel de f, on ne se doute pas que 'd' puisse etre modifié.
___________________________________________________________
Magicalement
Nono