Sdílet prostřednictvím


Odkazy (C++)

Odkazy prohlásit pomocí následující syntaxe:

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

Mohou být použity žádné platné declarator určení odkaz.Pokud odkaz je odkaz na funkci nebo pole Typ, platí zjednodušený následující syntaxi:

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

Odkazy jsou deklarovány pomocí následující sekvence:

1.Specifikátory prohlášení:

  • Volitelné úložiště tříd:.

  • Volitelný const a volatile kvalifikátory.

  • Specifikátor typu: název typu.

  • 2.Declarator:

  • Volitelné Microsoft zvláštní modifikátor.Další informace naleznete v tématu Microsoft specifické modifikátory.

  • & operátor.

  • Volitelný const a volatile qualifers.

  • Identifikátor.

3.Volitelné inicializátor.

Složitější formuláře declarator odkazy na pole a funkce se vztahuje také na odkazy na pole a funkce, viz ukazatele a declarators.

Více declarators a Inicializátory jevit čárkami oddělený seznam po specifikátoru jediné prohlášení.Příklad:

int &i; 
int &i, &j; 

Odkazy, ukazatele a objekty prohlásit společně:

int &ref, *ptr, k; 

Odkaz na adresu objektu ale syntakticky chová jako objekt.

V následující program všimněte, že název objektu, Todaya odkaz na objekt, TodayRef, shodně v lze programy:

Příklad

// 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 (Komentář)

Témata v tomto oddílu:

Viz také

Referenční dokumentace

Inicializace odkazy