我进行模拟并希望降低内存成本,因此对类成员使用uint8_t
,uint16_t
。 cpp是否保证它们是8位和16位?
根据我应该注意的流程架构是否存在差异?
答案 0 :(得分:12)
是的,保证它们的名称大小合适。或根本不存在。
答案 1 :(得分:5)
不,这些数据类型不保证为8位或16位。 如果 存在,则保证为8位或16位,但不要求它们存在。
在您的情况下,请使用uint_least8_t
和uint_least16_t
。这些必须存在,并且将是具有至少该位数的最小类型。
答案 2 :(得分:3)
这些数据类型保证具有指定的大小。否则他们将毫无意义。请参阅http://en.cppreference.com/w/cpp/types/integer以供参考。