不同编译器的枚举大小(以字节为单位)

Luk*_*uke 10 c c++ compiler-construction enums

enum的大小在不同的编译器(gcc,visual c和其他?)中总是相同的.也就是说,特定枚举的sizeof()是否为遵循C/C++标准的每个编译器提供相同的值?

APr*_*mer 14

没有.

在C和C++中,枚举的大小应使所有值都能表示并与整数类型兼容.不同的编译器可以使用不同的算法来选择类型(如果它没有被另一个标准指定,例如明确定义的ABI).(C++ 11允许使用新语法指定基础类型)