Von bstimmter Position aus einer Datei lesen.



  • Hacker schrieb:

    reinterpret_cast ist nützlich, wenn Etwas bitweise interpretiert werden soll. So etwas zum Beispiel ist nur mit diesem Cast-Operator möglich:

    int b;
        long speicherwert(reinterpret_cast<long>(&b));
    

    Das ist nun das mit Abstand schlechteste Beispiel, das du bringen konntest. Die Addresse interessiert nun wirklich keine Sau. Du hättest z.B. zeigen können, wie man Werte binär in einen Stream schreibt.

    Hacker schrieb:

    Das ist sinnvoll, da es sicherer ist.

    So 'n Quatsch. Das sind zwei verschiedene Dinge.

    Hacker schrieb:

    Mit dynamic_cast wäre das nicht passiert. Abgestürzt wär's wahrscheinlich trotzdem, aber man kann auf Null-Rückgabe prüfen.

    Nenn doch deine Klassen z.B. Base, Derived1 und Derived2, dann tut man sich beim lesen des Codes leichter.



  • 314159265358979 schrieb:

    Hacker schrieb:

    reinterpret_cast ist nützlich, wenn Etwas bitweise interpretiert werden soll. So etwas zum Beispiel ist nur mit diesem Cast-Operator möglich:

    int b;
        long speicherwert(reinterpret_cast<long>(&b));
    

    Das ist nun das mit Abstand schlechteste Beispiel, das du bringen konntest. Die Addresse interessiert nun wirklich keine Sau.

    Findest du, weil du eine Sau bist. Einen Menschen interessierts 😉

    PI schrieb:

    Hacker schrieb:

    Das ist sinnvoll, da es sicherer ist.

    So 'n Quatsch. Das sind zwei verschiedene Dinge.

    Das widerspricht sich nicht einmal, und außerdem: Zeig mir in diesem Zusammenhang mal, wie static_cast besser/gleich gut funktioniert, als dynamic_cast

    Hacker schrieb:

    Mit dynamic_cast wäre das nicht passiert. Abgestürzt wär's wahrscheinlich trotzdem, aber man kann auf Null-Rückgabe prüfen.

    Nenn doch deine Klassen z.B. Base, Derived1 und Derived2, dann tut man sich beim lesen des Codes leichter.[/quote]

    Lesen wird (da!) groß Geschrieben.
    Und außerdem hat das damit nichts zu tun. Es geht darum, dass man bei dynamic_cast prüfen kann, ob der Cast funktioniert hat, bzw. "nicht noch ins Verderben führen wird" (wie soll ich dass denn ausdrücken 😃 ).



  • Hacker schrieb:

    Findest du, weil du eine Sau bist. Einen Menschen interessierts 😉

    Du weißt nicht, wann Schluss ist, kleiner Mann.

    Hacker schrieb:

    Das widerspricht sich nicht einmal

    Was widerspricht sich nicht?

    Hacker schrieb:

    Zeig mir in diesem Zusammenhang mal, wie static_cast besser/gleich gut funktioniert, als dynamic_cast

    Ich hab doch schon gesagt, dass das zwei verschiedene Dinge sind. Was willst du von mir?

    Hacker schrieb:

    Lesen wird (da!) groß Geschrieben.

    Fang mal nicht mit Rehctshcriebfalems an, du kannst nur verlieren.

    Hacker schrieb:

    Und außerdem hat das damit nichts zu tun. Es geht darum, dass man bei dynamic_cast prüfen kann, ob der Cast funktioniert hat, bzw. "nicht noch ins Verderben führen wird" (wie soll ich dass denn ausdrücken 😃 ).

    Ich sags dir auch gerne ein drittes mal: Das sind zwei verschiedene Dinge.



  • Moment mal. Thorsten Dörnbach?

    314159265358979 schrieb:

    Hacker schrieb:

    Das ist sinnvoll, da es sicherer ist.

    So 'n Quatsch. Das sind zwei verschiedene Dinge.

    Also,

    314159265358979 schrieb:

    Hacker schrieb:

    Das widerspricht sich nicht einmal

    Was widerspricht sich nicht?

    Das es zwei verschiedene Dinge sind, und dass das eine sicherer ist, wenn es um etwas konkretes geht (!). Haste wohl missverstanden.

    Und was sind zwei verschiedene Dinge? Ich hoffe, dynamic_cast und static_cast?



  • Hacker schrieb:

    Moment mal. Thorsten Dörnbach?

    wat?

    Hacker schrieb:

    Und was sind zwei verschiedene Dinge? Ich hoffe, dynamic_cast und static_cast?

    Rüchtüch. Und deswegen ist das eine auch nicht sicherer, als das andere. Es sind zwei verschiedene Dinge.



  • 314159265358979 schrieb:

    Und deswegen ist das eine auch nicht sicherer, als das andere. Es sind zwei verschiedene Dinge.

    Ich meinte es nicht so allgemein wie du denkst. Es bezog sich auf's konvertieren von Basisklassen- zu Kindzeigern.

    Zu Thorsten Dörnbach: hier ist ein lustiges Video.
    Du erinnerst mich (aus fraglichem Grund) an den.



  • Hacker schrieb:

    Ich meinte es nicht so allgemein wie du denkst. Es bezog sich auf's konvertieren von Basisklassen- zu Kindzeigern.

    Äh, wat? Wofür willst du dynamic_cast denn dann verwenden, wenn nicht dafür? Davon reden wir doch die ganze Zeit.

    Hacker schrieb:

    Zu Thorsten Dörnbach: hier ist ein lustiges Video.
    Du erinnerst mich (aus fraglichem Grund) an den.

    Mein Internet ist grad zu langsam dafür. :p



  • 314159265358979 schrieb:

    Hacker schrieb:

    Ich meinte es nicht so allgemein wie du denkst. Es bezog sich auf's konvertieren von Basisklassen- zu Kindzeigern.

    Äh, wat? Wofür willst du dynamic_cast denn dann verwenden, wenn nicht dafür? Davon reden wir doch die ganze Zeit.

    Ja eben! Ich meinte, da ist dynamic_cast sicherer.



  • Und genau das ist Schwachsinn.



  • 314159265358979 schrieb:

    Und genau das ist Schwachsinn.

    Weil es zwei verschiedene Sachen sind? Was ist das für eine Logik? 😕



  • Nochmal anders: Selbst, wenn static_cast und dynamic_cast beide nur diese Casts könnten, so wären es immer noch zwei verschiedene Dinge und deine Aussage immer noch Schwachsinn. Jetzt verständlicher?



  • 314159265358979 schrieb:

    Nochmal anders: Selbst, wenn static_cast und dynamic_cast beide nur diese Casts könnten, so wären es immer noch zwei verschiedene Dinge und deine Aussage immer noch Schwachsinn. Jetzt verständlicher?

    Und was ist das Problem, wenn sie verschieden sind? Werd' mal konkret.

    Edit: Gibst du dich geschlagen?



  • Hacker schrieb:

    Und was ist das Problem, wenn sie verschieden sind?

    Bis auf die Tatsache, dass das nicht verstanden hast, nichts.

    Hacker schrieb:

    Edit: Gibst du dich geschlagen?

    What. Wie kommstn darauf?



  • Hacker schrieb:

    Ja eben! Ich meinte, da ist dynamic_cast sicherer.

    Und jetzt erkläre ich dir mal, warum das falsch ist. Wir sind uns schonmal in 2 Dingen einig:

    1. nur dynamic_cast kann cross-casts, weswegen es etwas völlig anderes ist als static_cast
    2. sowohl static_cast als auch dynamic_casts können down-casts machen

    Wo liegt jetzt der Unterschied in 2? static_cast kann nicht überprüfen, ob der Zeiger wirklich vom Kindtyp ist. Er castet einfach.

    "Also ist dynamic _cast doch viel sicherer, oder?"
    Nein, denn static_cast funktioniert immer, sobald man weiß, dass die Typen stimmen. Also ist static_cast absolut sicher. Hier kommt wieder zum tragen, dass dynamic_cast etwas völlig anderes ist: er funktioniert in diesem Szenario genau dann, wenn static_cast funktioniert, kann aber auch dann eingesetzt werden, wenn der Zieltyp nicht 100% bekannt ist, man also raten muss. Diese Funktionalität hat also einen völlig anderen Anwendungsbereich als static_cast.

    //edit hmm beim reinterpret_cast mit zeigern hattest du recht. Ohne kriegt man es nur unter bestimmten alignment betrachtungen hin...


Anmelden zum Antworten