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: