Есть ли способ объявить об перечислении, которое имеет несколько представлений, например, числовая и строка? < /p>
Цель здесь состоит в который имеет 2 разных представления, числовое и строку. Любое представление является достоверным и уникальным для перечисления. /code> и alphacode представляют 2 представления enum. enum class Foo {
Value01 { 001, "aa" },
Value02 { 002, "bb" },
.....
ValueN. { nn, "zz" };
private:
Foo( int numeric, const string alpha ) : numericCode( numeric ), alphaCode( alpha ) {}
private:
int numericCode;
string alphaCode;
};
< /code>
Обоснование для этого состоит в том, чтобы избежать общей конструкции выполнения строки или числовых сравнений для определения перечисленного случая; Избегайте нескольких символов для волшебных чисел между ситуационно удобными компиляционными единицами, или трудно поддерживать жестко закодированные магические числа во всей кодовой базе и т. Д. Есть несколько кодов, которые представляют страну; 2-характерная альфа, 3-символьная альфа и 3-значный номер. Каждый код однозначно представляет конкретное перечисленное значение, в то время как несколько представлений могут однозначно идентифицировать одно перечисленное значение. Class = "Lang-Java PrettyPrint-Override">public enum Foo {
Value01 ( 001, "aa" ),
Value02 ( 002, "bb" ),
ValueNN ( 999, "zz" );
private final int numericCode;
private final String alphaCode;
Foo( final int numeric, final String alpha ) {
numericCode = numeric;
alphaCode = alpha;
}
public String getAlpha() {
return alphaCode;
}
public int getNumeric() {
return numericCode;
}
}
< /code>
Я пытался сделать псевдод в вопросе. Я реализовал это в Java несколько раз.
Подробнее здесь: https://stackoverflow.com/questions/794 ... sentations
Есть ли способ в C ++ иметь рамки Enum, содержащий несколько представлений? ⇐ C++
Программы на C++. Форум разработчиков
1739732085
Anonymous
Есть ли способ объявить об перечислении, которое имеет несколько представлений, например, числовая и строка? < /p>
Цель здесь состоит в который имеет 2 разных представления, числовое и строку. Любое представление является достоверным и уникальным для перечисления. /code> и alphacode представляют 2 представления enum. enum class Foo {
Value01 { 001, "aa" },
Value02 { 002, "bb" },
.....
ValueN. { nn, "zz" };
private:
Foo( int numeric, const string alpha ) : numericCode( numeric ), alphaCode( alpha ) {}
private:
int numericCode;
string alphaCode;
};
< /code>
Обоснование для этого состоит в том, чтобы избежать общей конструкции выполнения строки или числовых сравнений для определения перечисленного случая; Избегайте нескольких символов для волшебных чисел между ситуационно удобными компиляционными единицами, или трудно поддерживать жестко закодированные магические числа во всей кодовой базе и т. Д. Есть несколько кодов, которые представляют страну; 2-характерная альфа, 3-символьная альфа и 3-значный номер. Каждый код однозначно представляет конкретное перечисленное значение, в то время как несколько представлений могут однозначно идентифицировать одно перечисленное значение. Class = "Lang-Java PrettyPrint-Override">public enum Foo {
Value01 ( 001, "aa" ),
Value02 ( 002, "bb" ),
ValueNN ( 999, "zz" );
private final int numericCode;
private final String alphaCode;
Foo( final int numeric, final String alpha ) {
numericCode = numeric;
alphaCode = alpha;
}
public String getAlpha() {
return alphaCode;
}
public int getNumeric() {
return numericCode;
}
}
< /code>
Я пытался сделать псевдод в вопросе. Я реализовал это в Java несколько раз.
Подробнее здесь: [url]https://stackoverflow.com/questions/79442076/is-there-a-way-in-c-to-have-a-scoped-enum-containing-multiple-representations[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия