Se você quiser usar o Qt , terá que aceitar quint8, quint16e assim por diante.
Se você quiser usar GLib , você tem que bem-vindo guint8, guint16e assim por diante.
No Linux existem u32, s16e assim por diante.
uC / OS define SINT32, UINT16e assim por diante.
E se você tiver que usar alguma combinação dessas coisas, é melhor estar preparado para problemas. Porque em sua máquina u32vai typedefacabar longe quint32vai typedefacabar inte o compilador vai reclamar .
Por que todo mundo faz isso, se houver <stdint.h>? Isso é algum tipo de tradição para bibliotecas?
stdint.hfoi inventado.
sizeof(int) * CHAR_BIT(por exemplo) e usar isso? Se seu intfor muito pequeno para representar seu intervalo (por exemplo, um índice de matriz), então quase certamente você não deveria usar de intqualquer maneira, mas algo parecido size_t. Por que int32faria mais sentido? A única vez que a largura fixa faz sentido é para a comunicação entre sistemas (por exemplo, formato de arquivo / rede) ...
uint16_t(ou talvez seu fastou leastvariante). Meu ponto é: esses tipos são convenientes de usar e têm sua razão de existência.
size_te / ou uint64_t.