Lvalue-Bezugsdeklarator: &.
Hält auf, aber die Adresse eines Objekts syntaktisch verhält sich wie ein Objekt.
type-id & cast-expression
Hinweise
Sie können eine Verbindung mit einem lvalue Verweis als ein anderer Name für ein Objekt vorstellen.Eine lvalue Deklaration Verweise enthält eine optionale Liste von Verweisen von einem Spezifizierern stehen deklarator.Ein Verweis muss initialisiert werden, und kann nicht geändert werden.
Jedes Objekt, dessen Adresse konvertiert werden kann, mit einem angegebenen Zeigertyp, kann auch zum ähnlichen Verweistypen konvertiert werden.Beispielsweise kann ein beliebiges Objekt, dessen Adresse konvertiert werden kann, um anzugeben, char * auch konvertiert werden, um char &einzugeben.
Verwechseln Sie nicht bei Verwendung AdressoperatorDeklarationen verweisen.Wenn & Bezeichner von einem Typ wie int oder charvorangestellt ist, wird Bezeichner während ein Verweis auf den Typ deklariert.Wenn & Bezeichner nicht von einem Typ vorangestellt ist, ist die Verwendung der den Adressoperator.
Beispiel
Im folgenden Beispiel wird der Verweis deklarator, indem ein Person-Objekt und einen Verweis auf dieses Objekt deklariert.Da rFriend ein Verweis auf myFriendist, wird die Aktualisierung einer Variablen auf 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;
}