Cast in c++



  • Wie würde diese Zeilen mit einem c++ cast aussehen?

    __int64 int4sechsig
    (LARGE_INTEGER*)&int4sechsig;
    

  • Mod

    Um Pointer zu casten benötigst du einen reinterpret_cast:

    reinterpret_cast<LARGE_INTEGER*>(&int4sechsig);
    

    Dadurch weißt du dann auch gleich, dass diese Aktion gefährlich ist, wenn man nicht weiß was man tut. Zum Beispiel wenn man nachfragen muss, wie man überhaupt in C++ castet.



  • SeppJ schrieb:

    Um Pointer zu casten benötigst du einen reinterpret_cast:

    reinterpret_cast<LARGE_INTEGER*>(&int4sechsig);
    

    Dadurch weißt du dann auch gleich, dass diese Aktion gefährlich ist, wenn man nicht weiß was man tut. Zum Beispiel wenn man nachfragen muss, wie man überhaupt in C++ castet.

    Naja, wenn man aber schon viel mit C gearbeitet hat und dann auf C++ umsteigen möchte kann diese Frage durchaus aufkommen 😉





  • Gibt es eigentlich etwas, das unkomplett unnötig ist?



  • Decimad schrieb:

    Gibt es eigentlich etwas, das unkomplett unnötig ist?

    Der cast um den sich dieser Thread hier dreht z.B. 😉



  • Decimad schrieb:

    Gibt es eigentlich etwas, das unkomplett unnötig ist?

    Ja. Zum Beispiel der Adressoperator bei globalen Funktionen. Könnte weggelassen werden, aber ist bei Weglassung unübersichtlich und inkonsistent mit Memberfunktionszeigern.

    fptr = &Func; // & unkomplett unnötig
    

    🙂



  • Decimad schrieb:

    Gibt es eigentlich etwas, das unkomplett unnötig ist?

    JEIN --> 'unkomplett unnötig' ist Nonsens. 'Komplett unnötig' sind hin und wieder einige Antworten hier im Forum - wie meine Bemerkung jetzt! 😃



  • SeppJ schrieb:

    Um Pointer zu casten benötigst du einen reinterpret_cast:

    reinterpret_cast<LARGE_INTEGER*>(&int4sechsig);
    

    Dadurch weißt du dann auch gleich, dass diese Aktion gefährlich ist, wenn man nicht weiß was man tut. Zum Beispiel wenn man nachfragen muss, wie man überhaupt in C++ castet.

    Ich bekomm dann dies hier: error C2440: 'reinterpret_cast' : cannot convert from 'const __int64 *' to 'LARGE_INTEGER *



  • Du hast uns das const verschwiegen. Das müsste auch in den Cast. Aber hör lieber auf dot.



  • - Da war jemand schneller -.-



  • Wenn du meinen Link angeschaut hättest wüsstest du dass du keinen cast brauchst. einfach int4sechsig.QuadPart und fertig...



  • Danke für eure Beiträge - gut, dass wir uns darüber mal unterhalten haben! 😃



  • Jupp hab es jetzt mit .QuadPart gemacht.
    Das const kam von einer Memberfunktion, hab ich übersehen.
    Danke!



  • Also wartet mal, jetzt muss ich aber nochmal nachhaken.
    Nexus - in deinem Fall würde ich die Angabe des & als unnötig bezeichnen - sie ist nicht nötig. Keinesfalls ist sie aber unnütz - als Hilfestellung für den Leser!



  • Decimad schrieb:

    Also wartet mal, jetzt muss ich aber nochmal nachhaken.
    Nexus - in deinem Fall würde ich die Angabe des & als unnötig bezeichnen - sie ist nicht nötig. Keinesfalls ist sie aber unnütz - als Hilfestellung für den Leser!

    Deswegen: unkomplett unnötig



  • also ist komplett unnötig die Kombination aus unnötig und unnütz?^^ Na ob das so im Wörterbuch steht...^^


Log in to reply