Referencias (C++)
Las referencias se pueden declarar utilizando la sintaxis siguiente:
[storage-class-specifiers] [cv-qualifiers] type-specifiers
[ms-modifier] declarator [= expression];
Cualquier declarador válido que especifica una referencia puede utilizarse.A menos que la referencia es una referencia a la función o el tipo de matriz, la sintaxis simplificada siguiente se aplica a:
[storage-class-specifiers] [cv-qualifiers] type-specifiers &
[cv-qualifiers] identifier [= expression];
Las referencias se declaran con la secuencia siguiente:
1.Los especificadores de declaración:
Un especificador opcional de clase de almacenamiento.
const opcional y/o calificadores de volatile .
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.
y operador.
const y/o qualifers opcionales de volatile .
Identificador.
3.un inicializador opcional.
El declarador más complejo forma para punteros a matrices y las funciones también se aplican a referencias a las matrices y las funciones, vea punteros y declarantes.
Los declarantes y los inicializadores múltiples pueden aparecer en una lista separada por comas que sigue a un único especificador de declaración.Por ejemplo:
int &i;
int &i, &j;
Las referencias, punteros y los 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.
En el siguiente programa, observe que el nombre del objeto, de Today, y la referencia al objeto, TodayRef, se puede utilizar idéntica en software:
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: