4.4. Notion de r�f�rence

En plus des pointeurs, le C++ permet de cr�er des r�f�rences. Les r�f�rences sont des synonymes d'identificateurs. Elles permettent de manipuler une variable sous un autre nom que celui sous laquelle cette derni�re a �t� d�clar�e.

Note�: Les r�f�rences n'existent qu'en C++. Le C ne permet pas de cr�er des r�f�rences.

Par exemple, si � id � est le nom d'une variable, il est possible de cr�er une r�f�rence � ref � de cette variable. Les deux identificateurs id et ref repr�sentent alors la m�me variable, et celle-ci peut �tre acc�d�e et modifi�e � l'aide de ces deux identificateurs indistinctement.

Toute r�f�rence doit se r�f�rer � un identificateur : il est donc impossible de d�clarer une r�f�rence sans l'initialiser. De plus, la d�claration d'une r�f�rence ne cr�e pas un nouvel objet comme c'est le cas pour la d�claration d'une variable par exemple. En effet, les r�f�rences se rapportent � des identificateurs d�j� existants.

La syntaxe de la d�claration d'une r�f�rence est la suivante :

type &r�f�rence = identificateur;

Apr�s cette d�claration, r�f�rence peut �tre utilis� partout o� identificateur peut l'�tre. Ce sont des synonymes.

Exemple 4-3. D�claration de r�f�rences

int i=0;
int &ri=i;   // R�f�rence sur la variable i.
ri=ri+i;         // Double la valeur de i (et de ri).

Il est possible de faire des r�f�rences sur des valeurs num�riques. Dans ce cas, les r�f�rences doivent �tre d�clar�es comme �tant constantes, puisqu'une valeur est une constante :

const int &ri=3;  // R�f�rence sur 3.
int &error=4;     // Erreur ! La r�f�rence n'est pas constante.