I read about enumeration declaration in C++ using cppreference.
Then I have made Enum class and check whether it is a class type or not using
enum class Enum
red = 1, blue, green
std::cout << std::boolalpha;
std::cout << std::is_class<Enum>::value << '\n';
enum class is not a
class definition - the combination of keywords is used to define a scoped enumeration, which is a completely separate entity from a
std::is_class correctly returns
false here. If you use
std::is_enum, it will return
The enumeration type declared with an enum-key of only enum is an unscoped enumeration, and its enumerators are unscoped enumerators. The enum-keys enum class and enum struct are semantically equivalent; an enumeration type declared with one of these is a scoped enumeration, and its enumerators are scoped enumerators.
There is no mention of an
enum class being a
class type anywhere.