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-seqoptptr-abstract-declaratoropt

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