Deklarator odwołań Lvalue: &
Przechowuje adres obiektu, ale zachowuje się składniowo jak obiekt.
Składnia
lvalue-reference-type-id
:
type-specifier-seq
&
attribute-specifier-seq
opt opt optptr-abstract-declarator
Uwagi
Odwołanie lvalue można traktować jako inną nazwę obiektu. Deklaracja referencyjna lvalue składa się z opcjonalnej listy specyfikatorów, po której następuje deklarator odwołania. Odwołanie musi zostać zainicjowane i nie można go zmienić.
Każdy obiekt, którego adres można przekonwertować na dany typ wskaźnika, można również przekonwertować na podobny typ odwołania. Na przykład każdy obiekt, którego adres można przekonwertować na typ char *
, można również przekonwertować na typ char &
.
Nie należy mylić deklaracji referencyjnych z użyciem operatora address-of. &
Gdy identyfikator jest poprzedzony typem, takim jak int
lub char
, identyfikator jest zadeklarowany jako odwołanie do typu. Jeśli &
identyfikator nie jest poprzedzony typem, użycie jest użyciem operatora address-of.
Przykład
W poniższym przykładzie pokazano deklarator odwołania przez zadeklarowanie Person
obiektu i odwołanie do tego obiektu. Ponieważ rFriend
jest odwołaniem do myFriend
metody , aktualizowanie każdej zmiennej zmienia ten sam obiekt.
// 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;
}
Bill is 40
Zobacz też
Odwołania
Argumenty funkcji typu odwołania
Funkcja typu odwołania zwraca
Odwołania do wskaźników
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla