Bits von short int



  • Kann ich beim gcc/g++ unter Linux, Windows, Mac OS X annehmen, dass ein short int immer 16 Bit hat?



  • Warum nimmst du nicht einfach int16_t aus stdint.h (oder cstdint in C++ bzw. boost/cstdint)?



  • Es ist _nie_ gut Code zu schreiben der von solchen Annahmen abhängig ist. Selbst wenn Short jetzt noch immer 16 bit wäre kann sich das ja in der Zukunft auch ändern. Wäre nich das erste mal, siehe int.



  • stdint.h ist eine super Idee. Vielen Dank!

    loks schrieb:

    Es ist _nie_ gut Code zu schreiben der von solchen Annahmen abhängig ist.

    Selbstverständlich. Ich habe ihn auch nicht geschrieben, ich muss aber mit ihm arbeiten. Ich freue mich ja schon, wenn die Kommentare in halbwegs verständlichem Englisch geschrieben sind.



  • rüdiger schrieb:

    Warum nimmst du nicht einfach int16_t aus stdint.h (oder cstdint in C++ bzw. boost/cstdint)?

    wieso gibt's das gleich 3 mal?
    🙂



  • ~fricky schrieb:

    rüdiger schrieb:

    Warum nimmst du nicht einfach int16_t aus stdint.h (oder cstdint in C++ bzw. boost/cstdint)?

    wieso gibt's das gleich 3 mal?
    🙂

    weil es jeder besser kann 😉



  • <stdint.h> ist C99 soweit ich weiss (gibt's in C++ nicht, zumindest nicht im Standard)

    <boost/cstdint.hpp> ist ein Boost Header-File, welches man auch schön mit C++03 Compilern verwenden kann.

    und <cstdint> ist ein C++0x Header-File, d.h. das gibt's dann im neuen C++0x Standard.

    Kurz: im Moment kannst du eigentlich nur <boost/cstdint.hpp> verwenden, wenn es mit mehreren Compilern funktionieren soll.


Log in to reply