Udostępnij za pośrednictwem


Odwołania (C++)

Odwołania mogą zostać zadeklarowane za pomocą następującej składni:

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

Może zostać użyty dowolny prawidłowy deklarator określający odwołanie.Jeśli odwołanie jest odwołaniem do funkcji lub tablicy typu, stosuje się następującą składnię uproszczoną:

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

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

1.Specyfikatory deklaracji

  • Opcjonalna specyfikator urządzenia klasy magazynowania.

  • Opcjonalny const i/lub kwalifikatory volatile.

  • Specyfikator typu: nazwa typu.

  • 2.Specyfikator:

  • Opcjonalny modyfikator właściwy dla Microsoft.Aby uzyskać więcej informacji, zobacz Modyfikatory specyficzne dla firmy Microsoft.

  • Operator &.

  • Opcjonalny const i/lub kwalifikatory volatile.

  • Identyfikator.

3.Opcjonalny inicjator.

Bardziej złożone formy deklaratorów dla wskaźników do tablic i funkcji stosuje się także do odwołania do tablic i funkcji, zobacz wskaźniki i deklaratory.

Wiele deklaratorów i inicjatorów może pojawić się w rozdzielanej przecinkami liście po specyfikatorze pojedynczej deklaracji.Na przykład:

int &i; 
int &i, &j; 

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

int &ref, *ptr, k; 

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

W następującym programie, należy zauważyć, że nazwa obiektu, Today, a odwołanie do obiektu, TodayRef, mogą być używane w identyczny sposób w programach:

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łań