Declarador de referencia a un valor L: &

Contiene la dirección de un objeto, pero se comporta sintácticamente como un objeto.

Sintaxis

lvalue-reference-type-id:
type-specifier-seq&attribute-specifier-seqoptptr-abstract-declaratoropt

Comentarios

Una referencia de valor L se puede considerar otro nombre para un objeto. Una declaración de referencia de valor L está formada por una lista opcional de especificadores seguida de un declarador de referencia. Una referencia debe inicializarse y no se puede cambiar.

Cualquier objeto cuya dirección se pueda convertir a un tipo de puntero especificado también se puede convertir a un tipo de referencia similar. Por ejemplo, cualquier objeto cuya dirección se pueda convertir al tipo char * también se puede convertir al tipo char &.

No confunda las declaraciones de referencia con el uso del Operador address-of. Cuando &identifier va precedido de un tipo, como, int o char, identifier se declara como una referencia al tipo. Cuando &identifier no va precedido de un tipo, la utilización es la del operador address-of.

Ejemplo

En el ejemplo siguiente se muestra el declarador de referencia mediante la declaración de un objeto Person y una referencia a ese objeto. Dado que rFriend es una referencia a myFriend, actualizar una de las variables cambia el mismo objeto.

// 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

Consulte también

Referencias
Argumentos de función de tipo de referencia
Devuelve la función reference-type.
Referencias a punteros