C++可以声明一个只有1字节(或者更少)的枚举类型吗?
枚举类型,在C++中默认情况下被视为int或unsigned。如果enum中有负值,则被视为int,否则被视为无符号int。无论哪种情况,都占4个字节。
这个大小由编译器决定,不能更改。但是你可以变通。
如果确定一个字节就足够了,可以定义char类型,然后分配所需的enum类型。
例如:
enum {FALSE,TRUE };
这里没有命名枚举,然后定义。
typedef char BOOL
这样这个BOOL类型就占了一个字节,可以同时使用FALSE和TRUE两个枚举值。