enums ×11
Создан 03.01.2025
0
голоса
2
ответов
0
просмотров
C++: Как использовать одни и те же имена членов перечисления в разных перечислениях без ошибки переопределения?

У меня есть файл конфигурации, который я включаю во все свои файлы. В нем содержатся различные перечисления (enums), но в каждом перечислении имеются одинаковые названия элементов. Например, вот как выглядит config.h:

enum GameObjectType
{
     NINJA_PLAYER
};

enum...
0
голоса
3
ответов
1
просмотров
Можно ли вручную определить преобразование для класса enum?

Описание проблемы:

Я хочу определить каст для enum class, чтобы можно было использовать его в условиях, аналогично тому, как это делается для классов, через явное преобразование типов. Например, у меня есть следующий класс:

class Test {
public:
  explicit operator bool() { return...
6
голоса
5
ответов
43
просмотров
Что такое перечисления (enums) и в чем их полезность?

Я сегодня просматривал вопросы на StackOverflow и наткнулся на упоминание об использовании enum в шаблоне singleton, где говорилось о предполагаемых преимуществах для потокобезопасности такого решения.

Я никогда раньше не использовал enum, хотя программирую на Java уже более двух лет. Вижу, что...

6
голоса
5
ответов
12
просмотров
Можно ли наследовать перечисления для добавления новых элементов?

Я хочу взять уже существующий enum и добавить в него новые элементы следующим образом:

enum A {a, b, c}

enum B extends A {d}

/*B = {a, b, c, d}*/

Возможно ли это сделать в Java?

7
голоса
5
ответов
35
просмотров
Почему enum class считается более безопасным в использовании, чем обычный enum?

Я слышал, что некоторые люди рекомендуют использовать перечисления (enum classes) в C++ из-за их типобезопасности.

Но что это на самом деле означает?

9
голоса
5
ответов
34
просмотров
Цикл for для перебора enum в Java

Я работаю с перечислением (enum) в Java, которое содержит кардинальные и промежуточные направления:

public enum Direction {
   NORTH,
   NORTHEAST,
   EAST,
   SOUTHEAST,
   SOUTH,
   SOUTHWEST,
   WEST,
   NORTHWEST
}

Мне нужно написать цикл for, который будет перебирает каждое...

7
голоса
5
ответов
25
просмотров
Как получить имена элементов перечисления (enum)?

Я хочу перебрать объект enum в TypeScript и получить имена каждого перечисляемого символа. Например, у меня есть следующий enum: enum myEnum { entry1, entry2 } Я решил использовать цикл for-in, чтобы пройтись по элементам: for (var entry in myEnum) { // здесь нужно использовать имя entry,...

8
голоса
5
ответов
29
просмотров
Как идиоматично представлять перечисления (enum) в Go?

Я пытаюсь представить упрощенную хромосому, которая состоит из N оснований, каждое из которых может быть только одним из {A, C, T, G}.

Я хотел бы формализовать ограничения с помощью перечисления (enum), но меня интересует, какой самый идиоматичный способ эмуляции перечислений в языке Go.

22
голоса
4
ответов
64
просмотров
Сравнение членов enum в Java: использовать == или equals()?

Я знаю, что в Java перечисления (enum) компилируются в классы с приватными конструкторами и набором публичных статических членов. При сравнении двух экземпляров заданного перечисления я всегда использовал метод .equals(), например:

public void useEnums(SomeEnum a) { ...

14
голоса
5
ответов
44
просмотров
JavaScriptSerializer - Сериализация JSON перечислений в виде строк

У меня есть класс, который содержит свойство типа enum, и при сериализации объекта с использованием JavaScriptSerializer, результат в формате JSON содержит целочисленное значение перечисления, а не его строковое "имя". Есть ли способ получить значение перечисления в виде строки в JSON без...

11
голоса
5
ответов
38
просмотров
Как представить 'Enum' в Python?

Описание проблемы:

Я в основном разработчик на C#, но в данный момент работаю над проектом на Python.

Как можно представить эквивалент перечисления (Enum) в Python? Я хочу узнать, какой подход лучше всего подходит для реализации аналогичной функциональности перечислений, которые доступны в...