enum Color1 { red, blue, green }; // ok
// enum Color2 { red, blue, green }; // error, enum conflicts
struct Color3
{
enum { red, blue, green }; // ok, no conflicts
};
enum class Color4 { red, blue, green }; // ok, no conflicts
color1
和color2
都是弱类型。color3
和color4
都是强类型。我的问题是:
1.color3
和color4
有什么区别吗?
2.选择哪一种?color3
还是color4
?为什么?
color3
和color4
都是强类型
不,试试这个:
int x = Color3::red; // ok
int y = Color4::red; // error: cannot convert from 'Color4' to 'int'
遗留枚举可以隐式转换为整数,但enum class
是它自己的类型。
至于更喜欢哪一个,请参见为什么枚举类比普通枚举更受欢迎?
null 2.喜欢哪一个?还是?为什么?
当您需要定义错误码和错误信息时,可能会使用以下方式, <?php class ErrorCode { const SERVER_ERROR = 500; const PARAMS_INVALID = 1000; public static $messages = [ self::SERVER_ERROR => 'Server Error',
问题内容: 例如,我该怎么做: 结果示例: 问题答案: 迅捷4.2+ 从Swift 4.2(使用Xcode 10)开始,只需添加协议一致性即可从中受益。要添加此协议一致性,您只需要在某处写: 如果枚举是您自己的,则可以直接在声明中指定一致性: 然后,以下代码将打印所有可能的值: 与早期Swift版本(3.x和4.x)的兼容性 如果您需要支持Swift 3.x或4.0,则可以通过添加以下代码来模仿S
当你进入网站时,按钮“继续”可以有两个选项:class="button "或class="btn "。如何在一个FindElement中同时搜索两个类?我不知道它应该是什么样子,但就像这样(示意性地) 或者更容易使用? 这不是工作。 感谢您的关注
枚举类(“新的枚举”/“强类型的枚举”)主要用来解决传统的C++枚举的三个问题: 传统C++枚举会被隐式转换为int,这在那些不应被转换为int的情况下可能导致错误 传统C++枚举的每一枚举值在其作用域范围内都是可见的,容易导致名称冲突(同名冲突) 不可以指定枚举的底层数据类型,这可能会导致代码不容易理解、兼容性问题以及不可以进行前向声明 枚举类(enum)(“强类型枚举”)是强类型的,并且具有类
为什么要在C++11中编译: 但这不是: