Partager via


Déclarateur de référence lvalue : et

Contient l'adresse d'un objet mais se comporte de vue syntaxique comme un objet.

type-id & cast-expression

Notes

Vous pouvez considérer une référence lvalue comme un autre nom à un objet.Une déclaration de référence lvalue se compose d'une liste facultative de spécificateurs suivis d'un déclarateurs de référence.Une référence doit être initialisée et ne peut pas être modifiée.

Tout objet dont l'adresse peut être convertie en un type pointeur donné peut également être converti en type référence similaire.Par exemple, tout objet dont l'adresse peut être convertie en type char * peut également être converti en type char &.

ne confondez pas les déclarations de référence avec l'utilisation d' opérateur d'adresse.Lorsque & identificateur est précédé d'un type, tel qu' int ou char, identificateur est déclaré comme une référence au type.Lorsque & identificateur n'est pas précédé d'un type, l'utilisation est celle de l'opérateur d'adresse.

Exemple

L'exemple suivant montre les déclarateurs de référence en déclarant un objet d' Person et une référence à cet objet.Étant donné qu' rFriend est une référence à myFriend, mettre à jour l'un ou l'autre de variable modifie le même objet.

// reference_declarator.cpp
// compile with: /EHsc
// Demonstrates the reference declarator.
#include <iostream>
using namespace std;

struct Person
{
    char* Name;
    short Age;
};

int main()
{
   // Declare a Person object.
   Person myFriend;

   // Declare a reference to the Person object.
   Person& rFriend = myFriend;

   // Set the fields of the Person object.
   // Updating either variable changes the same object.
   myFriend.Name = "Bill";
   rFriend.Age = 40;

   // Print the fields of the Person object to the console.
   cout << rFriend.Name << " is " << myFriend.Age << endl;
}
  

Voir aussi

Référence

Références (C++)

Arguments de fonction de type référence

Retours de fonction de type référence

Références aux pointeurs