Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 枚举的大小_C++_Enumeration - Fatal编程技术网

C++ 枚举的大小

C++ 枚举的大小,c++,enumeration,C++,Enumeration,枚举类型的大小是多少 int main() { enum boolean{fl,tr}; int sbool = sizeof(boolean); boolean a=fl,b=tr; cout<<"size of Bool Enum: "<<sbool<<endl; enum months{jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec}; int smon = sizeof(months); cout&l

枚举类型的大小是多少

int main()
{
enum boolean{fl,tr};
int sbool = sizeof(boolean);
boolean a=fl,b=tr;
cout<<"size of Bool Enum: "<<sbool<<endl;
enum months{jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec};
int smon = sizeof(months);
cout<<"size of months enum: "<<smon<<endl;
}
intmain()
{
枚举布尔{fl,tr};
int sbool=sizeof(布尔值);
布尔值a=fl,b=tr;

cout枚举的大小由实现定义。通常它们的大小等于sizeof(int),因为C中的枚举数有int类型。尽管C中的枚举本身也有实现定义的兼容类型。来自C标准

每个枚举类型应与char兼容,char是一个有符号整数 类型,或无符号整数类型。类型选择为 实现定义


C++中,枚举具有基础类型的大小。如果不指定,则可以使其固定指定枚举基或使用具有基础类型int的范围化枚举。< /p>因为这是一个<代码>布尔布尔< /COD>的大小和系统上的一个合理的整数值。UT可以使用,并且可以为这些类型指定基础类型。这看起来像C++问题。你是什么意思的基础类型?@ CUBA,例如,你可以定义枚举:以下方式枚举颜色:char {r,g,b};这里char是基础类型。它将被用来表示枚举的所有值。