Witam. Mógłby ktoś wyjaśnić mi zapis
OtherArray[i] = theArray[i]->Clone();
głównie chodzi mi o symbol **-> **pomiędzy. Co on oznacza?
Witam. Mógłby ktoś wyjaśnić mi zapis
OtherArray[i] = theArray[i]->Clone();
głównie chodzi mi o symbol **-> **pomiędzy. Co on oznacza?
Operator wyłuskania. Oznacza zazwyczaj to samo co (*theArray[i]).Clone()
.
-> oznacza ze dany obiekt jest wskaznikiem na obiekt danej klasy. Jesli obiekt bylby zadeklarowany normalnie, nie jako wskaznik wtedy operator ten bylby kropka '.'.
Sprawdz sobie np.
klasa a;
klasa *b;
z a trzeba pisac a.at()
z b trzeba pisac b->at()
Chyba ze napiszesz (*b).at()
@up szybszy ;(
theArray
jest tablicą wskaźników na obiekty klasy, która posiada metodę Clone()
. Za pomocą ->
odwoujesz się do pól i metod obiektu mając do niego wskaźnik. Przykad:
struct Foo { int bar(); }
Foo a; // obiekt
Foo* p_a = &a; // wskaznik na obiekt
a.bar(); // wywolanie metody na rzecz obiektu
p_a->bar(); // wywolanie metody na rzecz wskaznika na obiekt
(*p_a).bar(); // w zasadzie to samo co powyzej
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.