Odkaz Lvalue Declarator: &
Adresu objektu, ale syntakticky chová jako objekt.
type-id & cast-expression
Poznámky
Lvalue odkazu můžete představit jako jiný název objektu.Deklarace lvalue odkaz obsahuje volitelný seznam identifikátorů následované declarator odkaz.Odkaz musí být inicializována a nelze je změnit.
Libovolného objektu, jehož adresa lze převést na daný ukazatel typu lze také převést na typ odkazu podobné.Například libovolný objekt, jehož adresu lze převést na typ char * lze také převést na typ char &.
Nezaměňujte odkaz prohlášení s použitím operátor adresu z.Když & identifikátor předchází typu, jako například int nebo char, identifikátor je deklarována jako odkaz na typ.Při & identifikátor není před podle typu, je použití adres z hospodářského subjektu.
Příklad
Následující příklad ukazuje declarator odkaz prohlášením Person objektu a odkaz na objekt.Protože rFriend je odkaz na myFriend, buď proměnné aktualizace změní na stejný objekt.
// 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;
}