#include <iostream>
/*
scoped enumerations and unscoped enumerations
*/
int main()
{
{
// unscoped enum
enum Color : unsigned long long
{
Red = 2ULL, Green, blue
};
Color c1 = Red;
Color c2 = Color::blue;
int c3 = Color::Green;
std::cout << c3 << std::endl;
//int Red = 1;
//会产生重定义错误
}
{
// scopend enum
enum class Color : unsigned int
{
Red, Green, blue
};
//Color c1 = Red;
//不能直接使用
Color c2 = Color::blue;
//int c3 = Color::Red;
//不能隐式转换
int Red = 3;
}
getchar();
return 0;
}
c++ , scoped enum, unscoped enum
最新推荐文章于 2025-02-10 09:00:00 发布
本文深入探讨了C++中枚举类型的两种形式:未作用域枚举(unscoped enumeration)和作用域枚举(scoped enumeration)。通过示例代码,详细解释了它们的定义、使用以及变量类型转换的特点。同时,对比了两者在直接访问枚举成员和隐式类型转换方面的差异。
918

被折叠的 条评论
为什么被折叠?



