Compartir a través de


Declarador de referencias de valor l: y

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

type-id & cast-expression

Comentarios

Puede pensar en una referencia de valorl como otro nombre para un objeto.Una declaración de referencia de valor l está formado por una lista opcional de especificadores seguidos por un declarador de referencia.Una referencia debe inicializarse y no se puede cambiar.

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

No confunda las declaraciones de referencia con el uso de operador de dirección.Cuando & identificador es precedido por un tipo, como int o char, se declara identificador como una referencia al tipo.Cuando & identificador no es precedido por un tipo, el uso es el operador de dirección.

Ejemplo

El ejemplo siguiente muestra el declarador de referencia declarar un objeto de Person y una referencia a ese objeto.Dado que rFriend es una referencia a myFriend, actualizar cualquier variable 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;
}
  

Vea también

Referencia

Referencias (C++)

Argumentos de la función de tipo de referencia

Retornos de función de tipo de referencia

Referencias a los punteros