Si vous souhaitez utiliser Qt , vous devez accepter quint8, quint16et ainsi de suite.
Si vous souhaitez utiliser GLib , vous devez accueillir guint8, guint16et ainsi de suite.
Sur Linux, il y en a u32, s16et ainsi de suite.
uC / OS définit SINT32, UINT16et ainsi de suite.
Et si vous devez utiliser une combinaison de ces éléments, vous feriez mieux de vous préparer aux ennuis. Parce que sur votre machine u32sera typedefterminé longet quint32sera typedefterminé intet le compilateur se plaindra .
Pourquoi tout le monde fait-il cela, s'il y en a <stdint.h>? S'agit-il d'une sorte de tradition pour les bibliothèques?
stdint.hété inventé.
sizeof(int) * CHAR_BIT(par exemple) et utiliser cela? Si votre intest trop petit pour représenter votre plage (par exemple un index de tableau), alors vous ne devriez certainement pas utiliser de inttoute façon, mais quelque chose comme size_t. Pourquoi aurait-il int32plus de sens? Le seul moment où la largeur fixe a du sens est pour la communication entre les systèmes (par exemple, format de fichier / réseau) ...
uint16_t(ou peut-être sa fastou sa leastvariante). Mon point étant: ces types sont pratiques à utiliser et ont leur raison d'être.
size_tet / ou uint64_t.