Se si desidera utilizzare Qt , devi abbracciare quint8, quint16e così via.
Se si desidera utilizzare GLib , è necessario il benvenuto guint8, guint16e così via.
Su Linux ci sono u32, s16e così via.
uC / OS definisce SINT32, UINT16e così via.
E se devi usare una combinazione di queste cose, è meglio che tu sia preparato per i guai. Perché sulla tua macchina u32sarà typedeffinito longe quint32sarà typedeffinito inte il compilatore si lamenterà .
Perché lo fanno tutti, se c'è <stdint.h>? È una specie di tradizione per le biblioteche?
stdint.hstato inventato.
sizeof(int) * CHAR_BIT(per esempio) e usarlo? Se il tuo intè troppo piccolo per rappresentare il tuo intervallo (ad esempio un indice di array), allora quasi certamente non dovresti usarlo intcomunque, ma qualcosa di simile size_t. Perché avrebbe int32più senso? L'unica volta che la larghezza fissa ha senso è per la comunicazione tra i sistemi (ad es. Formato file / rete) ...
uint16_t(o forse la sua fasto leastvariante). Il mio punto è: questi tipi sono convenienti da usare e hanno la loro ragione di esistenza.
size_te / o uint64_t.