如果要使用Qt,则必须拥抱quint8,quint16依此类推。
如果要使用GLib,则必须欢迎guint8,guint16依此类推。
在Linux上有u32,s16依此类推。
uC / OS定义SINT32,UINT16依此类推。
而且,如果您必须结合使用这些东西,则最好为遇到麻烦做好准备。由于你的机器u32将被typedefD,共long并且quint32将typedef维超int,编译器会抱怨。
如果有的话,为什么每个人都这样做<stdint.h>?这是图书馆的某种传统吗?
stdint.h发明的原因。
sizeof(int) * CHAR_BIT(例如)并使用它呢?如果您的int数据太小而无法表示您的范围(例如数组索引),那么您几乎可以肯定不应该使用int,而是类似的东西size_t。为什么会有int32更多意义呢?固定宽度唯一有意义的时间是系统之间的通信(例如文件/网络格式)...
uint16_t(或它的fast或least变体)。我的观点是:这些类型易于使用并且存在它们的原因。
size_t和/或uint64_t。