Maison > développement back-end > C++ > Référence Const en C : avant ou après le spécificateur de type ?

Référence Const en C : avant ou après le spécificateur de type ?

Barbara Streisand
Libérer: 2024-11-24 10:02:12
original
306 Les gens l'ont consulté

Const Reference in C  : Before or After the Type Specifier?

Référence Const en C : Placement avant ou après le spécificateur de type

En C, lorsqu'il s'agit de références const, une question se pose concernant le placement du mot clé const par rapport au spécificateur de type : avant ou après ? Examinons la syntaxe et le comportement de ces deux formulaires.

Syntaxe :

  • Référence Const avant le spécificateur de type :

    int foo1(const Fred &arg) {
    ...
    }
    Copier après la connexion
  • Référence Const après le type Spécificateur :

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

Comportement :

Les deux syntaxes aboutissent au même comportement. Le langage traite const T& et T const& comme types équivalents. Cela s'applique à la fois aux déclarations de pointeur et de référence.

Considérations stylistiques :

Bien qu'il n'y ait pas de différence fonctionnelle entre les deux options de placement, les préférences stylistiques varient. Cependant, il existe certains arguments en faveur de la préférence pour const T& (et const T*) :

  • Cohérence avec les textes standards : const T& est le style utilisé à la fois dans le livre C Programming Language de Bjarne Stroustrup et dans le standard C lui-même.
  • Ubiquité : const T&/const T* est empiriquement plus courant dans le code C et C. que son emplacement alternatif.
  • Ambiguïté de l'analyse :Erreur de l'astérisque avec T const* est un problème potentiel, tandis que const* T n'est pas une syntaxe valide.

La règle d'analyse de droite à gauche souvent citée en faveur du placement de const après le spécificateur de type peut être subjective. const T& peut également être analysé de droite à gauche comme « référence à une constante T ».

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