r0d Pour ergoter un peu :
Passé en argument d'une fonction, l'argument "pointeur" est l'adresse où est stocké l'objet. C'est devenu une simple valeur, pas une variable. Je préfère pour ma part dire que la référence est l'objet.Je ne suis pas d'accord. Une référence, c'est l'adresse de l'endroit où est stocké l'objet. Un pointeur est une variable dans laquelle est stockée l'adresse où est stocké l'objet. Ce n'est pas du tout la même chose.
Et pourquoi donc ?Lorsque tu passes un pointeur en paramètre, ce pointeur est copié lors de l'appel à la fonction. Donc si tu modifie le pointeur à l'intérieur de la fonction, il y a de grandes chances pour que cela engendre des problèmes.
???L'utilisation d'une référence fait gagner un adressage par rapport à un pointeur.
Ne compile pasPar exemple, la fonction suivante
compile,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void foo(const int* p) { *p+=5; }







Répondre avec citation




Partager