Why is enum class preferred over plain enum?

前端 未结 9 2438
灰色年华
灰色年华 2020-11-22 10:12

I heard a few people recommending to use enum classes in C++ because of their type safety.

But what does that really mean?

9条回答
  •  南方客
    南方客 (楼主)
    2020-11-22 10:35

    Because, as said in other answers, class enum are not implicitly convertible to int/bool, it also helps to avoid buggy code like:

    enum MyEnum {
      Value1,
      Value2,
    };
    ...
    if (var == Value1 || Value2) // Should be "var == Value2" no error/warning
    

提交回复
热议问题