Mam mały problem ze zrozumieniem co oznacza zapis *& w nagłówku funkcji:
void insert(bnode *&root);
czy te operatory się nazwajem nie znoszą?
Mam mały problem ze zrozumieniem co oznacza zapis *& w nagłówku funkcji:
void insert(bnode *&root);
czy te operatory się nazwajem nie znoszą?
nie? to referencja na wskaźnik (pozwala zmieniać wskaźnik wewnątrz funkcji)
niedawno był identyczny temat tutaj :/
A moglbys mi wytlumaczyc jak to dziala ;p ? w koncu ten operator "&" służy do wyłuskania adresu obiektu przed którym stoi a * jest deklaracja wskaznika? Czyli np. a *&x - adres x jest wskaznikiem do obiektu typu a?
co? nie służy tutaj do wyłuskania adresu, tak samo jak gwiazdka nie służy tutaj do dereferencji
poczytaj o referencji
x jest referencją na wskaźnik do obiektu a
możesz to zamienić na wskaźnik na wskaźnik (podwójna gwiazdka), ale wtedy do kodu dochodzą dodatkowe gwiazdki
ok czyli tutaj operator & jest tak jakby pascalowym var?
dokładnie tak
dzieki wielkie :)