Si desea utilizar Qt , debe abrazar quint8
, quint16
y así sucesivamente.
Si desea utilizar GLib , debe darle la bienvenida guint8
, guint16
etc.
En Linux los hay u32
, s16
y así sucesivamente.
uC / OS define SINT32
, UINT16
y así sucesivamente.
Y si tiene que usar alguna combinación de esas cosas, será mejor que esté preparado para los problemas. Porque en su máquina u32
se typedef
terminará long
y quint32
se typedef
terminará int
y el compilador se quejará .
¿Por qué todo el mundo hace esto, si lo hay <stdint.h>
? ¿Es esto algún tipo de tradición para las bibliotecas?
stdint.h
se inventó.
sizeof(int) * CHAR_BIT
(por ejemplo) y usarlo? Si su int
es demasiado pequeño para representar su rango (por ejemplo, un índice de matriz), entonces es casi seguro que no debería usarlo de int
todos modos, sino algo como size_t
. ¿Por qué tendría int32
más sentido? La única vez que el ancho fijo tiene sentido es para la comunicación entre sistemas (por ejemplo, formato de archivo / red) ...
uint16_t
(o tal vez su fast
o least
variante). Mi punto es: estos tipos son convenientes de usar y tienen su razón de existencia.
size_t
y / o uint64_t
.