C#里enum是默认继承自Int,改继承为byte就可以解决。但C++怎么办呢?
8 个解决方案
#1
c++11可以指定,没有c++11的话,好像不行
#2
C++里面枚举貌似被替换成int了,也就是说没有真正意义上的枚举类型。一定要一个字节的话为什么不用char或byte呢?自己做个检查函数就行了。
#3
enum Dummy
{
A = 0,
B,
C
};
char v = A;
#4
一人一分... 可以结了。
#5
枚举成员属于立即数,不用担心空间
#6
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
#7
改编译器。
#8
机器对int型变量处理最快,对char等类型会慢很多,所以牺牲那么几个字节应该是划得来。
#1
c++11可以指定,没有c++11的话,好像不行
#2
C++里面枚举貌似被替换成int了,也就是说没有真正意义上的枚举类型。一定要一个字节的话为什么不用char或byte呢?自己做个检查函数就行了。
#3
enum Dummy
{
A = 0,
B,
C
};
char v = A;
#4
一人一分... 可以结了。
#5
枚举成员属于立即数,不用担心空间
#6
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
#7
改编译器。
#8
机器对int型变量处理最快,对char等类型会慢很多,所以牺牲那么几个字节应该是划得来。