c++ - 枚举和二元或运算符 (MISRA C++ 2008, 4-5-2)

标签 c++ enums misra

MISRA C++ 2008, 4-5-2 规定:枚举类型的表达式不得用作除下标运算符 [ ]、赋值运算符 =、等于运算符 == 和 != 之外的内置运算符的操作数、一元 & 运算符以及关系运算符 <、<=、>、>=。

如果可以使用&为什么不允许使用二进制|用枚举?

最佳答案

您进行了错误的比较。

一元&是“address-of”运算符,与二元&“and”运算符没有关系。

MISRA 规则禁止对枚举进行所有按位操作,但继续允许获取此类类型对象的地址。

关于c++ - 枚举和二元或运算符 (MISRA C++ 2008, 4-5-2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388540/

相关文章:

c++ - 作为马尔可夫随机场 (MRF) : how to refine the cmex code? 输入的概率

java - 使用 Enum 填充通用 JComboBox

c - C 中 2 的幂的 Misra 兼容宏

c - 算术加法的 MISRA C 合规性

c++ - 作为鼠标的相机输入(运动跟踪)

c++ - 如何解决复杂的线性系统?

c++ - 类似于 "if constexpr"但用于类定义

java 枚举新列表创建未按预期工作

ios - 如何使枚举可编码?

c - 避免 MISRA 警告,从嵌入式编码器生成自动化代码