Udostępnij za pośrednictwem


Odwołania (C++)

Odwołaniami mogą być zadeklarowane za pomocą następującej składni:

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

Dopuszcza się wszelkie ważne; niewłaściwy deklarator określające odwołanie.Chyba że odwołanie jest odwołaniem do typu funkcji lub w tablicy, stosuje się następującą składnię uproszczone:

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

Odwołania są zadeklarowane za pomocą następującej sekwencji:

1.Specyfikatory deklaracji:

  • Specyfikator klasy magazynowania opcjonalne.

  • Opcjonalny const i/lub volatile kwalifikatorów.

  • Specyfikator typu: nazwy typu.

  • 2.Niewłaściwy deklarator:

  • Opcjonalne Microsoft szczególnych modyfikatora.Aby uzyskać więcej informacji, zobacz Modyfikatorów specyficzne dla firmy Microsoft.

  • & operator.

  • Opcjonalny const i/lub volatile qualifers.

  • Identyfikator.

3.Opcjonalne inicjatora.

Bardziej złożonych form; niewłaściwy deklarator wskaźników do funkcji i tablic stosuje się także do odwołania do tablic i funkcji, zobacz wskaźniki i declarators.

Wiele declarators i inicjatory może pojawić się w rozdzielana przecinkami lista po specyfikatora pojedynczą deklarację.Na przykład:

int &i; 
int &i, &j; 

Odwołania, wskaźniki i obiekty mogą być zadeklarowane razem:

int &ref, *ptr, k; 

Odwołanie przechowuje adres obiektu, ale zachowuje się syntaktycznie jak obiekt.

W programie następujące warto zauważyć, że nazwa obiektu, Todayi odwołanie do obiektu, TodayRef, mogą być używane w identyczny sposób w programy:

Przykład

// 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);
}
  

Komentarz

Tematy w tej sekcji:

Zobacz też

Informacje

Inicjowanie odwołania