enum class
Applies to: cpp
An enum class defines a type whose values are a fixed set of named constants. It is type-safe (won't
implicitly convert to int or mix with other enums) and scoped (Mode::Cruise), making it ideal for modes and
states.
enum class Mode { Cruise, Avoid, Stop };
Mode m = Mode::Cruise;
if (m == Mode::Avoid) { /* ... */ }
See also: struct-vs-class