Partager via


Références (C++)

Les références peuvent être déclarées à l'aide de la syntaxe suivante :

[storage-class-specifiers] [cv-qualifiers] type-specifiers 
[ms-modifier] declarator [= expression];

Tout déclarateur valide spécifiant une référence peut être utilisé.Sauf si la référence est une référence à la fonction ou le type de tableau, la syntaxe simplifiée suivantes s'appliquent :

[storage-class-specifiers] [cv-qualifiers] type-specifiers & 
[cv-qualifiers] identifier [= expression];

Les références sont déclarées à l'aide de la séquence suivante :

1.les spécificateurs de déclaration :

  • un spécificateur facultatif de classe de stockage.

  • const facultatif et/ou qualificateurs d' volatile .

  • le spécificateur de type : le nom d'un type.

  • 2.le déclarateur :

  • Un modificateur facultatif spécifique de Microsoft.Pour plus d'informations, consultez Modificateurs spécifiques.

  • & l'opérateur.

  • const facultatif et/ou qualifers d' volatile .

  • Identificateur.

3.un initialiseur facultatif.

Le déclarateur plus complexe forme pour les pointeurs vers des tableaux et les fonctions s'appliquent également aux références aux tableaux et les fonctions, consultez pointeurs et déclarateurs.

Plusieurs déclarateurs et les initialiseurs peuvent apparaître dans une liste avec la virgule comme séparateur suivant un spécificateur de déclaration unique.Par exemple :

int &i; 
int &i, &j; 

Les références, les pointeurs et les objets peuvent être déclarés ensemble :

int &ref, *ptr, k; 

Une référence contient l'adresse d'un objet, mais se comporte de vue syntaxique comme un objet.

Dans le programme suivant, notez que le nom de l'objet, d' Today, et la référence à l'objet, TodayRef, peut être utilisé de la même manière dans les programmes :

Exemple

// references.cpp
#include <stdio.h>
struct S {
   short i;
};

int main() {
   S  s;   // Declare the object.
   S& SRef = s;   // Declare the reference.
   s.i = 3;

   printf_s("%d\n", s.i);
   printf_s("%d\n", SRef.i);

   SRef.i = 4;
   printf_s("%d\n", s.i);
   printf_s("%d\n", SRef.i);
}
  

Commentaire

Rubriques de cette section :

Voir aussi

Référence

Initialiser des références