【发布时间】:2018-10-06 05:58:48
【问题描述】:
我最近遇到了这段代码,我想知道它为什么会起作用。枚举声明:
enum BuildResult {
RESULT_ERROR,
RESULT_SUCCESS
};
后来,这个 Enum 被用在 if 语句中(忽略它可能是 RESULT_ERROR 的事实):
if (!objectHere->build_result == ClassNameHere::RESULT_SUCCESS)
我不知道您可以使用 not 运算符 ! 来翻转 Enum 的值。这仅适用于具有两种状态的枚举吗?是否有其他类型的隐式运算符可以与 Enums 一起使用?我确实找到了 this question 关于手动声明运算符的信息,但它似乎没有提到枚举的任何隐式运算符。
【问题讨论】: