Referenzen
-
Hi Profis!
Hab mal eine Fragen über Referenzen und den Adressoperator also:
Ich lese grad zum zweiten mal die C++ Grundlagen von Gerhard Willms
und bin Grad beim Unterkapitel Referenzen so da steht nun:
„Nicht erlaubt sind Zeiger auf Referenzen und Referenzen auf Referenzen“Na gut der Ausdruck int &rr = &r; liefert auch wie erwartet eine Fehlermeldung
aber: *int pr = &r; läuft ohne Probleme das liegt jetzt wahrscheinlich daran das
der &-Operator überladen ist und als Adressoperator interpretiert wird.
Wenn ich den & einfach weck lass funktioniert mit dieser Variante
int *pr = (int *)r; was aber auch irgendwie klar ist.So jetzt meine eigentliche Frage wie schaff ich es das der &-Operator
nicht als Adressoperator interpretiert wird ich will mich einfach nur
davon überzeugen das, das was im Buch steht auch wirklich stimmt.Danke im Voraus für eure Antworten.
-
Ich denke:
int x; int &y = x; int *z = &y;
Ich habs aber nicht ausprobiert.
Aber das gehört ins C++ Forum.
-
YASC schrieb:
Aber das gehört ins C++ Forum.
Richtig!
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Der Satz „Nicht erlaubt sind Zeiger auf Referenzen und Referenzen auf Referenzen“ meint sowas hier
int&* a; int&& b;
Und sowas ist wirklich nicht erlaubt.
Warum postest du das eigentlich ins C Forum?
-
Muss mich entschuldigen hab ins Falsche Forum gepostet als Strafe werd ich heut noch 100 mal das Computer unser beten.
Eine kleine unklarheit bleibt aber noch wer kommt auf eine solche Idee den Ausdruck
int&* a;
verwenden zu wolln könnt ihr mir das erklären für was man sowas brauchen könnte??
-
Für nix, weils verboten ist
Du kannst dir doch denken, wozu es gut sein könnte. Du willst, dass zwei Zeiger immer auf das gleiche zeigen.
-
Ok danke für eure Antworten jetzt bin ich wieder ein bisschen klüger