Co oznacza zapis class *?

0

Mam takie coś

class USphereComponent* CollectionSphere;

Bez słowa klas wiem że mam do czynienia ze wskaźnikiem, a co zmienia to słówko class?

0
USphereComponent *CollectionSphere;

To jest definicja wskaźnika na klasę USphereComponent. USphereComponent nie musi być w pełni zdefiniowaną klasą, ale kompilator musi wiedzieć, że jest to jakiś typ. Tzn. musi być jakaś deklaracja co to jest USphereComponent (np. deklaracja zapowiadająca klasy czy typedef).

class USphereComponent *CollectionSphere;

To też jest definicja takiego samego wskaźnika. Z jedną różnicą - od razu mówimy, że USphereComponent jest klasą. Jest to jakby połączenie deklaracji zapowiadającej i definicji zmiennej.

1

http://en.cppreference.com/w/cpp/language/elaborated_type_specifier
Jedyne co to daje, to że jednoznacznie mówi, że chodzi o typ.

1 użytkowników online, w tym zalogowanych: 0, gości: 1