Bonjour à tous,
Je me remet un peu à jour en terme de connaissances basiques sur le C++.
Je voudrais savoir la différence entre un passage par référence et un par pointeur:
Je vois bien la différence entre par valeur et par référence/pointeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MaFonction1(int &x); // Par référence MaFonction2(int *x); // Par pointeur MaFonction2(int x); // Par valeur
Par contre, c'est la différence entre par pointeur et par référence qui me dérange.
Dans le cas d'un pointeur, on économise la copie de l'argument au profit d'une simple copie d'adresse mémoire (donc en général 4 octets).
Concernant les droits de la fonction, on peut faire :
Quelques question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MaFonction2(int *x); MaFonction2(const int *x); MaFonction2(int * const x); MaFonction2(const int * const x);
est-ce que on peut faire également
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MaFonction2(int &x); MaFonction2(const int &x); MaFonction2(int & const x); MaFonction2(const int & const x);
Le passage par pointeur ne nécessite qu'une copie du pointeur passé, le passage par référence, comment se débrouille le compilateur?
Merci beaucoup de m'éclairer là dessus
A bientôt
Aurélien
Partager