面试真题

C++ · 简单 · 字节跳动

enum和enum class的区别?

简单 C++ 🎤 字节跳动
参考答案
结论:enum class是C++11强类型枚举,比传统enum更安全。核心区别:1.作用域:传统enum枚举量在外层作用域,易冲突;enum class枚举量在类作用域内,需用Enum::Val访问。2.隐式转换:传统enum可隐式转int;enum class不能,需static_cast。3.底层类型:传统由编译器定;enum class可指定如:int。示例:enum Color{Red}; int x=Red; OK;enum class C2{Red}; int y=C2::Red; 错误。优先用enum class。
题目整理自公开面经,答案由校招宝自研生成,仅供参考