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-seq
optptr-abstract-declarator
opt
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de