Donc, je me rends compte que const T&
et T const&
sont identiques et les deux signifient une référence à un const T. Dans les deux cas, la référence est également constant (les références ne peut pas être modifiée, à la différence des pointeurs). J'ai observé, dans ma un peu limité de l'expérience, que la plupart des programmeurs C++ utiliser const T&
, mais j'ai rencontré quelques personnes qui utilisent T const&
. J'utilise const T&
tout simplement parce que j'ai appris de cette façon, et ainsi de T const&
a l'air un peu drôle pour moi. Quelle est la raison que vous utilisez la variante que vous utilisez? Un travail au sein d'une organisation dont les normes de codage mandat de l'utilisation d'une variante sur l'autre?
Modifier
Sur la base des réponses, il semblerait que l'une des raisons pour le choix entre les deux est de savoir si vous voulez le lire comme le compilateur (de droite à gauche) ou comme l'anglais (de gauche à droite). Si on la lit comme le compilateur, puis "T const&" se lit "& (référence) const (à une constante près) T (de type T)". Si on la lit comme l'anglais, de gauche à droite, puis "const T&" est lu comme "un constant objet de type T dans la forme d'une référence". Je préfère le lire comme de la prose anglaise, mais je peux certainement voir le sens dans l'interprétation de la manière dont le compilateur ne.
Personne n'a répondu à l'organisation ou à des normes de codage question, mais je soupçonne fortement que la plupart des organisations n'ont pas le mandat de l'un sur l'autre, bien qu'ils pourraient rechercher la cohérence.