Wie kann ich einen Zeiger ( Object *ob) an eine Funktion übergeben, die ein Prototyp ist void foo(Object &)?
Wie kann ich einen Zeiger ( Object *ob) an eine Funktion übergeben, die ein Prototyp ist void foo(Object &)?
Antworten:
Nennen Sie es so:
foo(*ob);
Beachten Sie, dass hier kein Casting stattfindet, wie in Ihrem Fragentitel vorgeschlagen. Wir haben lediglich den Zeiger auf das Objekt de-referenziert, das wir dann an die Funktion übergeben.
obZeigers oder konvertiert er nur (falls nicht umgewandelt) in eine Referenz? Was passiert , wenn obwar nullptr?
foo(*ob);
Sie müssen es nicht umwandeln, da es sich um denselben Objekttyp handelt. Sie müssen es nur dereferenzieren.