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:

Consulte também

Referência

Inicializando referências