Page suivante - Page précédente - Table des matières

5. Les pointeurs sont des problèmes

Une référence est un alias ; quand vous créez une référence, vous l'initialisez avec le nom d'un autre objet, la cible. À partir de ce moment, la référence est comme un autre nom de la cible, et tout ce que vous faites à la référence est vraiment fait à la cible.

Les pointeurs ne sont pas nécessaires dans la programmation générale. Dans les langages modernes comme Java, il n'y a pas de support pour des pointeurs ! Les pointeurs rendent les programmes touffus et difficiles à lire.

Si possible, évitez d'utiliser les pointeurs et utilisez les références. Les pointeurs sont vraiment très pénibles. Il est possible d'écrire une application sans utiliser de pointeurs. Dans les langages comme Java, les pointeurs n'existent pas du tout !

Syntaxe des références : déclarer une référence en indiquant le type, suivi par un opérateur référence (&), suivi par le nom de la référence. Les références DOIVENT être initialisées au moment de leur création. Par exemple :


 int             poids;
 int     & rpoids = poids; // NdT : prononcez ine te réf r poi
 CHIEN           aa;
 CHIEN & rChienRef = aa;

Les références : à observer

  • Utilisez les références pour créer un alias sur un objet.
  • Initialisez toutes les références.
  • Utilisez les références pour les programmes nécessitant performance et efficacité.
  • Utilisez const pour protéger les références et les pointeurs à chaque fois que cela est possible.

Les références : à éviter

  • IMPORTANT : Ne pas utiliser de références sur NULL !
  • Ne pas confondre l'opérateur d'adresse & avec l'opérateur référence ! Les références sont utilisées dans les sections des déclarations (voir la syntaxe des références plus haut).
  • Ne pas essayer de réaffecter une référence.
  • Ne pas utiliser les pointeurs si les références sont utilisables.
  • Ne pas renvoyer de référence sur un objet local.
  • Ne pas passer par référence si un objet référé peut sortir du champ de visibilité (scope).


Page suivante - Page précédente - Table des matières