Dichiarazione di riferimento Lvalue: &
utilizza l'indirizzo di un oggetto ma si comporta sintatticamente come un oggetto.
type-id & cast-expression
Note
È possibile considerare un riferimento lvalue come altro nome per un oggetto.Una dichiarazione di riferimento lvalue è costituito da un elenco facoltativo degli identificatori seguiti da un dichiaratore di riferimento.Un riferimento deve essere inizializzato e non può essere modificato.
Qualsiasi oggetto di cui l'indirizzo può essere convertito in un tipo di puntatore può essere convertito in un tipo simile riferimento.Ad esempio, qualsiasi oggetto di cui l'indirizzo può essere convertito nel tipo char * può essere convertito nel tipo char &.
Non confondere le dichiarazioni di riferimento all'utilizzo della proprietà l'operatore address-of.quando & identificatore è preceduto da un tipo, ad esempio int o char, identificatore viene dichiarato come un riferimento al tipo.quando & identificatore non è preceduto da un tipo, l'utilizzo di è quello dell'operatore address-of.
Esempio
Nell'esempio seguente viene illustrato il dichiaratore di riferimento dichiarando un oggetto Person oggetto e un riferimento a tale oggetto.Poiché rFriend è un riferimento a myFriend, aggiornare qualsiasi variabile modifica lo stesso oggetto.
// 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;
}
Vedere anche
Riferimenti
Argomenti della funzione del tipo di riferimento