Les références et les pointeurs sont étroitement liés. En effet, si l'on utilise une référence pour manipuler un objet, cela revient exactement à manipuler un pointeur constant contenant l'adresse de l'objet manipulé. Les références permettent simplement d'obtenir le même résultat que les pointeurs avec une plus grande facilité d'écriture.
Par exemple, considérons le morceau de code suivant :
et faisons passer l'opérateur & de la deuxième ligne à gauche de l'opérateur d'affectation :int i=0; int &*pi=i; // Cela génère une erreur de syntaxe mais nous // l'ignorons pour les besoins de l'explication. *pi=*pi+1;
Maintenant, comparons avec le morceau de code équivalent suivant :
Nous constatons que la référence ri peut être identifiée avec l'expression *pi, qui représente bel et bien la variable i. Ainsi, ri représente exactement i. Cela permet de comprendre l'origine de la syntaxe de déclaration des références.
Précédent | Sommaire | Suivant |
Notion de référence | Niveau supérieur | Passage de paramètres par variable ou par valeur |