Referências (C++)
Referências podem ser declaradas usando a seguinte sintaxe:
[storage-class-specifiers] [cv-qualifiers] type-specifiers
[ms-modifier] declarator [= expression];
Qualquer Declarador válida especificando uma referência pode ser usado.A menos que a referência é uma referência ao tipo de função ou array, aplica-se a seguinte sintaxe simplificada:
[storage-class-specifiers] [cv-qualifiers] type-specifiers &
[cv-qualifiers] identifier [= expression];
Referências são declaradas usando a seguinte seqüência:
1.Os especificadores de declaração:
Um especificador de classe de armazenamento opcional.
Opcional const e/ou volatile qualificadores.
O especificador de tipo: o nome de um tipo.
2.O Declarador:
Um modificador de específico Microsoft opcional.Para obter mais informações, consulte Modificadores específicas da Microsoft.
A & operador.
Opcional const e/ou volatile qualifers.
O identificador.
3.Um inicializador opcional.
Formulários mais complexos Declarador ponteiros para funções e arrays também se aplicam às referências a matrizes e funções, consulte ponteiros e declaradores.
Vários declaradores e inicializadores podem aparecer em uma lista separada por vírgulas, seguindo um especificador de única declaração.Por exemplo:
int &i;
int &i, &j;
Referências, ponteiros e objetos podem ser declarados em conjunto:
int &ref, *ptr, k;
Uma referência contém o endereço de um objeto, mas se comporta de sintaticamente como um objeto.
O seguinte programa, observe que o nome do objeto, Todaye a referência ao objeto, TodayRef, pode ser usado de forma idêntica em programas:
Exemplo
// 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
Tópicos nesta seção: