Sdílet prostřednictvím


Deklarátor odkazu Lvalue: &

Uchovává adresu objektu, ale chová se syntakticky, stejně jako objekt.

type-id & cast-expression

Poznámky

Odkaz l hodnoty si lze představit jako jiný název objektu.Deklarace odkazu l hodnoty se skládá z volitelného seznamu specifikátorů, který je následován deklarátorem odkazu.Odkaz musí být inicializován a nelze jej změnit.

Libovolný objekt, jehož adresu lze převést na daný typ ukazatele, lze převést na podobný typ odkazu.Například každý objekt, jehož adresu lze převést na typ char *, lze také převést na typ char &.

Nepleťte si deklaraci odkazu s použitím operátoru z adresy.Předchází-li & identifier typ, jako například int nebo char, je identifier deklarován jako odkaz na typ.Nepředchází-li & identifier typ, využití představuje operátor z adresy.

Příklad

Následující příklad deklarátor odkaz deklarováním objektu Person a odkazu na tento objekt.Vzhledem k tomu, že rFriend je odkaz na myFriend, upravení proměnné změní 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;
}
  

Viz také

Referenční dokumentace

Odkazy (C++)

Argumenty funkce typu odkazu

Vrácení funkce typu odkazu

Odkazy na ukazatele