uint8_t,uint16_t是否分别保证为8位和16位?

时间:2016-06-23 18:16:12

标签: c++ uint8t

我进行模拟并希望降低内存成本,因此对类成员使用uint8_tuint16_t。 cpp是否保证它们是8位和16位?

根据我应该注意的流程架构是否存在差异?

3 个答案:

答案 0 :(得分:12)

是的,保证它们的名称大小合适。或根本不存在。

答案 1 :(得分:5)

不,这些数据类型不保证为8位或16位。 如果 存在,则保证为8位或16位,但不要求它们存在。

在您的情况下,请使用uint_least8_tuint_least16_t。这些必须存在,并且将是具有至少该位数的最小类型。

答案 2 :(得分:3)

这些数据类型保证具有指定的大小。否则他们将毫无意义。请参阅http://en.cppreference.com/w/cpp/types/integer以供参考。

相关问题