Compartir a través de


Referencias (C++)

Las referencias se pueden declarar con la sintaxis siguiente:

[storage-class-specifiers] [cv-qualifiers] type-specifiers 
[ms-modifier] declarator [= expression];

Se puede usar cualquier declarador válido que especifique una referencia. A menos que la referencia sea una referencia a un tipo de función o matriz, se aplica la siguiente sintaxis simplificada:

[storage-class-specifiers] [cv-qualifiers] type-specifiers & 
[cv-qualifiers] identifier [= expression];

Las referencias se declaran mediante la siguiente secuencia:

1. Los especificadores de la declaración:

  • Un especificador de clase de almacenamiento opcional.

  • Calificadores const y/o volatile opcionales.

  • El especificador de tipo: el nombre de un tipo.

  • 2. El declarador:

  • Un modificador opcional específico de Microsoft. Para obtener más información, vea Modificadores específicos de Microsoft.

  • El operador &.

  • Calificadores const y/o volatile opcionales.

  • El identificador.

3. Un inicializador opcional.

Las formas de declarador más complejas para punteros a matrices y funciones también se aplican a las referencias a matrices y funciones. Vea punteros y declaradores.

Varios declaradores e inicializadores pueden aparecer en una lista separada por comas detrás de un único especificador de declaración. Por ejemplo:

int &i; 
int &i, &j; 

Las referencias, punteros y objetos se pueden declarar juntos:

int &ref, *ptr, k; 

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

Observe que, en el siguiente programa, el nombre del objeto Today y la referencia al objeto, TodayRef, se pueden usar de la misma forma:

Ejemplo

// references.cpp
#include <stdio.h>
struct S {
   short i;
};

int main() {
   S  s;   // Declare the object.
   S& SRef = s;   // Declare the reference.
   s.i = 3;

   printf_s("%d\n", s.i);
   printf_s("%d\n", SRef.i);

   SRef.i = 4;
   printf_s("%d\n", s.i);
   printf_s("%d\n", SRef.i);
}
  

Comment

Temas de esta sección:

Vea también

Referencia

Inicializar referencias