Warum reference mit *dereferenzieren?
-
Ja, die Dereferenzierung dort ist falsch, es kompiliert ja auch nicht: Ideone-Code
Außer, der
*
-Operator wäre auch überladen, wie in geänderter Ideone-Code
-
Ah ja stimmt, der * Operator ist auch überladen! Danke Th69!
@manni66 sagte in Warum reference mit *dereferenzieren?:
Keine Ahnung. Was ist
Zahl
? Wo hast du das geklaut?Zahl ist meine Klasse.
-
@Jini sagte in Warum reference mit *dereferenzieren?:
Ah ja stimmt, der * Operator ist auch überladen! Danke Th69!
@manni66 sagte in Warum reference mit *dereferenzieren?:
Keine Ahnung. Was ist
Zahl
? Wo hast du das geklaut?Zahl ist meine Klasse.
Technisch korrekte Antwort, aber nicht das was wir mit der Frage beabsichtigten. Wir wollen wissen, was die Definition aus Sicht des Compilers ist. Sprich: Code!
-
@Jini sagte in Warum reference mit *dereferenzieren?:
Warum steht da *rechts statt rechts?
Zahl ist meine Klasse.
Ah ja stimmt, der * Operator ist auch überladen! Danke Th69!
-
@SeppJ sagte in Warum reference mit *dereferenzieren?:
@Jini sagte in Warum reference mit *dereferenzieren?:
Ah ja stimmt, der * Operator ist auch überladen! Danke Th69!
@manni66 sagte in Warum reference mit *dereferenzieren?:
Keine Ahnung. Was ist
Zahl
? Wo hast du das geklaut?Zahl ist meine Klasse.
Technisch korrekte Antwort, aber nicht das was wir mit der Frage beabsichtigten. Wir wollen wissen, was die Definition aus Sicht des Compilers ist. Sprich: Code!
int& operator*(); // Dereferenzieren: Zugriff auf den Wert direkt erhalten
@hustbaer sagte
Sorry, hatte ich vorher nicht kapiert, was das bedeuten sollte!
-
Nicht "nur" die Deklaration von deinem * operator, sondern der Code deiner Klasse "Zahl" ist interessant, wenn du Fragen zum Verhalten eben dieser hast.
-
Danke, die Frage war nur, warum ich * verwenden sollte bei der Referenz und die Antwort ist, weil der * Operator überladen wurde und das deshalb möglich macht. Frage ist aus meiner Sicht beantwortet! Danke
-
@Jini sagte in Warum reference mit *dereferenzieren?:
Zahl ist meine Klasse.
Du baust dir eine Klasse mit Operatorüberladungen und verstehst dann nicht, was du programmiert hast, wunderst dich aber, dass es funktioniert? Sieht eher nach Klassenklau aus...
-
Ich möchte auch noch eine andere Frage in den Raum werfen:
@Jini sagte in Warum reference mit *dereferenzieren?:int& operator*(); // Dereferenzieren: Zugriff auf den Wert direkt erhalten
Was soll "Zugriff auf den Wert direkt erhalten" bedeuten? Etwa, dass Klasseninterna über den operator* plötzlich öffentlich werden (und geändert werden können)? Das erscheint mir problematisch. Aber gut, dazu müsste man wissen, was die Klasse tut bzw. wofür die gut ist.
-
@DocShoe sagte in Warum reference mit *dereferenzieren?:
@Jini sagte in Warum reference mit *dereferenzieren?:
Zahl ist meine Klasse.
Du baust dir eine Klasse mit Operatorüberladungen und verstehst dann nicht, was du programmiert hast, wunderst dich aber, dass es funktioniert? Sieht eher nach Klassenklau aus...
Genau, habe mir ein Beispiel gesucht und versucht es nachzuvollziehen, dabei habt ihr mir alle geholfen! Danke nochmal
-
@Jini sagte in Warum reference mit *dereferenzieren?:
Genau, habe mir ein Beispiel gesucht und versucht es nachzuvollziehen
Wenn du das das nächste mal gleich dazuschreibst, dann kommen vermutlich weniger blöde Kommentare wie z.B. das von mir
Und: Wenn du eine kleine Klasse - wie (vermutlich)
Zahl
in diesem Fall - hast, dann hilft es auch den kompletten Code zu posten.