Dans Other C ++ Features, Reference Arguments of the Google C ++ Style Guide , j'ai lu que les références non const ne doivent pas être utilisées.
Tous les paramètres passés par référence doivent être étiquetés const.
Il est clair que regarder les appels de fonction qui utilisent des références comme arguments est absolument déroutant pour les programmeurs C, mais C et C ++ sont maintenant des langages différents. Si un paramètre de sortie est requis , l'utilisation d'un pointeur pour un paramètre de sortie requis peut entraîner le saut de tout le corps de la fonction, ce qui complique la mise en œuvre d'une fonction (augmente formellement la complexité cyclonique et la profondeur d'une fonction).
J'aimerais rendre le code C ++ aussi facile à comprendre / à gérer que possible, donc je suis généralement intéressé par la lecture des guides de style de codage. Mais pour adapter les meilleures pratiques au sein d'une équipe, je pense que la compréhension de la logique des éléments du guide de style est un facteur important.
Les références non const sont-elles vraiment si mauvaises? Leur interdiction est-elle uniquement spécifique à Google ou est-ce une règle communément acceptée? Qu'est-ce qui justifie l'effort supplémentaire pour implémenter les paramètres de sortie en tant que pointeurs?