怎么让 enum 占用字节少
如何让 enum 占用字节少
通常来说sizeof(一个enum)都是4,但我这里不需要4这么长的的枚举,一个char的长度足以。
C#里enum是默认继承自Int,改继承为byte就可以解决。但C++怎么办呢?
------解决方案--------------------
c++11可以指定,没有c++11的话,好像不行
------解决方案--------------------
C++里面枚举貌似被替换成int了,也就是说没有真正意义上的枚举类型。一定要一个字节的话为什么不用char或byte呢?自己做个检查函数就行了。
------解决方案--------------------
------解决方案--------------------
一人一分... 可以结了。
通常来说sizeof(一个enum)都是4,但我这里不需要4这么长的的枚举,一个char的长度足以。
C#里enum是默认继承自Int,改继承为byte就可以解决。但C++怎么办呢?
------解决方案--------------------
c++11可以指定,没有c++11的话,好像不行
------解决方案--------------------
C++里面枚举貌似被替换成int了,也就是说没有真正意义上的枚举类型。一定要一个字节的话为什么不用char或byte呢?自己做个检查函数就行了。
------解决方案--------------------
enum Dummy
{
A = 0,
B,
C
};
char v = A;
------解决方案--------------------
一人一分... 可以结了。