当编写具有5个选项(使用c2hs)的C enum的Storable
实例时,{# sizeof #}
宏返回4(即4个字节)。当3位足够时,这不是非常浪费吗?这取决于记忆词的大小吗?
答案 0 :(得分:1)
枚举的大小是实现定义的。标准说:
6.7.2.2枚举说明符
...每个枚举类型应与
char
,有符号整数类型或 无符号整数类型。类型的选择是实现定义的......
BTW,在C ++中,可以明确指定基础类型,例如:
enum E : int
{
// ...
};