Чтобы получить количество объектов в перечислении в C++, вы можете использовать следующие методы:
-
Метод 1: подсчет значений перечисления
Пройтись по значениям перечисления и подсчитать количество присутствующих значений.enum MyEnum { Value1, Value2, Value3, // ... }; int count = 0; for (MyEnum value = MyEnum::Value1; value <= MyEnum::Value3; value = static_cast<MyEnum>(static_cast<int>(value) + 1)) { count++; } // 'count' variable will hold the number of objects in the enum -
Метод 2: использование контрольного значения
Добавьте дополнительное значение в конце перечисления, чтобы обозначить конец, и используйте это контрольное значение для определения количества объектов.enum MyEnum { Value1, Value2, Value3, End // Sentinel value }; int count = 0; while (static_cast<MyEnum>(count) != MyEnum::End) { count++; } // 'count' variable will hold the number of objects in the enum -
Метод 3. Использование макроса препроцессора
Определите макрос препроцессора для автоматического подсчета количества перечисляемых значений.#define ENUM_COUNT(e) (sizeof(e) / sizeof(int)) enum MyEnum { Value1, Value2, Value3, // ... }; int count = ENUM_COUNT(MyEnum); // 'count' variable will hold the number of objects in the enum
Эти методы позволяют определить количество объектов в перечислении в C++. Выберите метод, который подходит для вашего конкретного случая использования.