无论是c++中新增的枚举类还是之前的枚举类型,我们都可以指定枚举类型的大小。
在默认情况下,枚举类型是以32位整数来表示其数据的,我们可以通过下面形式来进行调整:
- enum example1 : long long
- { A, B, C };
-
- enum example2
- { A, B, C };
-
- /*
- enum class c : long long
- { A, B, C };
- */
-
-
- int main(void) {
- c a = c::A;
-
- std::cout << sizeof(example1) << std::endl; // 结果为8个字节
-
- std::cout << sizeof(A) << std::endl; // 结果为8个字节
-
-
- std::cout << sizeof(example2) << std::endl; // 结果为4个字节(默认情况)
-
-
- std::cin.get();
- }
我们如果只存储0-255个数,很明显我们只需要使用1个字节就足够存放这些数据了,所以就可以通过指定枚举类型的大小,来使其使用较小的空间,比如(unsigned char类型)。所以根据实际情况来定。