Maison > développement back-end > C++ > Références Const dans les arguments de fonction : « const T& » ou « T const& » ?

Références Const dans les arguments de fonction : « const T& » ou « T const& » ?

Susan Sarandon
Libérer: 2024-11-20 17:03:15
original
538 Les gens l'ont consulté

Const References in Function Arguments: `const T&` or `T const&`?

Référence Const dans les arguments de fonction : avant ou après le spécificateur de type ?

En C , le placement de la référence const dans les arguments de fonction peut soulever des questions. Considérez les deux extraits de code suivants :

int foo1(const Fred &arg) {
...
}
Copier après la connexion
int foo2(Fred const &arg) {
...
}
Copier après la connexion

Sémantiquement, il n'y a aucune différence entre ces deux arguments. Le langage les traite comme le même type, tous deux faisant référence à une référence constante à un objet de type Fred.

Considérations stylistiques :

Cependant, en ce qui concerne le style , l'utilisation préférée varie selon les programmeurs.

  • const T& : C'est le style utilisé dans "Le langage de programmation C" de Stroustrup et également dans le standard C lui-même.
  • T const& : ce style est moins couramment utilisé mais peut être préféré par certains pour des raisons de cohérence avec les règles d'analyse de droite à gauche, considérées comme une bonne pratique en C .

Analyse de droite à gauche :

Selon la règle d'analyse de droite à gauche, les qualificatifs (tels que const) doivent être appliqués au type à leur gauche. Cela prendrait en charge l'utilisation de T const&.

Cependant, il est important de noter que const T& peut également être analysé efficacement de droite à gauche. Il indique une référence à une valeur constante de type T. De plus, l'ambiguïté de T const* (qui pourrait potentiellement être interprétée comme « pointeur constant vers T » au lieu de « pointeur vers constante T ») fait de const T& le choix le plus sans ambiguïté.

Pratique :

En termes de lisibilité et d'usage courant, const T&/const T ont pris un élan significatif par rapport à T const&/T const. Cela peut être dû à la prédominance de ces styles dans des sources largement reconnues comme le livre de Stroustrup et le standard C. Le respect des pratiques communément acceptées peut améliorer la lisibilité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal