Lvalue-Referenz-Deklarator: &
Enthält die Adresse eines Objekts, verhält sich jedoch syntaktisch wie ein Objekt.
Syntax
lvalue-reference-type-id
:
type-specifier-seq
&
attribute-specifier-seq
optptr-abstract-declarator
opt
Hinweise
Sie können sich einen lvalue-Verweis als einen anderen Namen für ein Objekt vorstellen. Eine lvalue-Verweisdeklaration enthält eine optionale Liste von Bezeichnern, gefolgt von einem Verweisdeklarator. Ein Verweis muss initialisiert werden und kann nicht geändert werden.
Jedes Objekt, dessen Adresse in einen angegebenen Zeigertyp konvertiert werden kann, kann auch in den ähnlichen Referenztyp konvertiert werden. Beispielsweise kann jedes Objekt, dessen Adresse in den Typ char *
konvertiert werden kann, auch in den Typ char &
konvertiert werden.
Verwechseln Sie Referenzdeklarationen nicht mit der Verwendung der Adresse des Operators. Wenn dem &
Bezeichner ein Typ vorangestellt ist, z int
. B. oder char
, wird der Bezeichner als Verweis auf den Typ deklariert. Wenn &
dem Bezeichner kein Typ vorangestellt ist, ist die Verwendung der Adresse des Operators.
Beispiel
Das folgende Beispiel zeigt den Verweisdeklarator, indem ein Person
-Objekt und ein Verweis auf dieses Objekt deklariert wird. Da rFriend
ein Verweis auf myFriend
ist, ändert die Aktualisierung einer der Variablen das gleiche 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;
}
Bill is 40
Siehe auch
Informationsquellen
Argumente der Referenzfunktion
Verweistypfunktion gibt zurück.
Verweise auf Zeiger
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für