Question

Quelqu'un pourrait-il expliquer par quelques exemples lorsqu'il est préférable d'appeler des fonctions par référence et lorsqu'il est préférable d'appeler par adresse?

Était-ce utile?

La solution

Passez vos arguments pour fonctionner en utilisant référence autant que possible. Passer des arguments par référence élimine le risque qu’ils soient NULL. Si vous souhaitez pouvoir transmettre la valeur NULL à une fonction, utilisez le pointeur.

Autres conseils

Cela a déjà été discuté. Voir Pointeur ou référence .

Une convention intéressante consiste à:

  • Transmettez les objets par un pointeur chaque fois qu'ils peuvent être manipulés ( effet secondaire ou en tant que sortie ) par la fonction.
  • Transmettez tous les autres objets par référence à un const .

Ceci indique très clairement à l'appelant, avec une documentation minimale et un coût en performances nul, quels paramètres sont constants ou non.

Vous pouvez également appliquer cela aux types primitifs, mais il est discutable de savoir si vous devez ou non utiliser des références const pour les paramètres non en sortie, car ils sont clairement passés par valeur et ne peuvent pas agir en tant que sortie de la fonction. en aucune façon (pour les types directs - pas les pointeurs / références - bien sûr).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top