Vous avez certainement noté la similitude qui existe entre l'opérateur
&
d'accès à l'adresse d'un objet et le mode de passage de
paramètres dit ``par référence'' (voir section ).
Il existe en effet un rapport très étroit entre ces deux concepts, puisque lors d'un passage de paramètre par référence, c'est l'adresse de l'objet passé comme paramètre effectif lors de l'appel qui est transmise à la fonction ou procédure appelée. Cependant, le fait que l'adresse est transmise plutôt que la valeur est ``transparent'' pour le programmeur.
Pour illustrer cette similitude, voyons comment effectuer un passage de paramètre par adresse, d'abord en utilisant, puis sans utiliser la notion de référence. Notons au passage que la seconde manière était la seule façon de procéder en C (ANSI ou non).
Voici tout d'abord la version C++ d'un programme échangeant le contenu de deux variables :
Et voici maintenant la version ``C'' de ce programme, utilisant des pointeurs pour produire rigoureusement le même effet que le programme précédent :