wenn man einen Pointer auf ein Objekt hat, aber die Referenz auf das Objekt braucht, kann man dann einfach den Pointer als Referenz casten (d.h. die Referenz ist dann einfach die Adresse die im Pointer steht)? Wie z.B. hier:
C++:
void A(obj &o) { ... }
void B(obj *o) { A((obj&)o); }
Oder muss man immer dereferenzieren?
C++:
void A(obj &o) { ... }
void B(obj *o) { A(*o); }
Wenn beides geht, ist die erste Version mit dem Casten schneller, weil dort das dereferenzieren wegfällt?
Das erste funktioniert nicht, man kann eine Dereferenzierung nicht durch einen Cast ersetzen. Und wenn man es dem Compiler abtrotzt, wirds zur Laufzeit schiefgehen (Segfault, Memory corruption oder irgendwas in der Art)