Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Lvalue-Verweisdeklarator:
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
opt ptr-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 Verweisdeklarationen nicht mit der Verwendung von address-of operator. Wenn &
identifier ein Typ vorangestellt wird, wie z. B. int
oder char
, wird identifier als Verweis auf den Typ deklariert. Wenn &
identifier kein Typ vorangestellt ist, wird er als address-of-operator verwendet.
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
Weitere Informationen
Informationsquellen
Verweistyp-Funktionsargumente
Verweistyp-Funktionsrückgaben
Verweise auf Zeiger