teoretycznie najpierw patrzysz gdzie jest położone, czyli dostajesz adres stosu, potem ten adres stosu wskazuje, że jest położone na stosie czyli dostajesz obj
, czyli wychodzi masz obj
same. Jeśli patrzysz od prawej do lewej strony obj
, potem &
referencja, potem *
dereferencja. Te dwie rzeczy się anihilują &*
jak adresu nie zmienisz, referencja daje adres, a dereferencja wartość pod tym adresem, jedynie jak zamienisz kolejność to może być zależne od adresu.
Nigdy nie pamiętam kolejności wykonywania działań więc mogę się mylić, bo to nie jest oczywiste, różne kompilatory różnie to robią to nie jest jak z matematyką najpierw nawiasy, potem mnożenie, potem dodawanie. Dlatego najlepiej wszystko w nawiasy robić co ma mieć pierwszeństwo dla czytelności.