|
0 / 2 / 3
Регистрация: 29.01.2017
Сообщений: 83
|
|||||||||||
Поясните про типизированный enum16.10.2017, 19:45. Показов 4274. Ответов 9
В документации указано что я могу писать (С++11) что-то типа такого:
Так что, получается что указывать я могу только числовые типы, чтоб моё перечисление было как {1, 2, 3}? И в чём тогда смысл этих типов??
0
|
|||||||||||
| 16.10.2017, 19:45 | |
|
Ответы с готовыми решениями:
9
Поясните, пожалуйста, несколько моментов про выделение памяти
Поясните про 1уа |
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
|
| 16.10.2017, 19:53 | |
|
там можно встроенные типа задавать. возможно только интегральные из них.
смысл хорошо описан у мейерса в его последней книге о современном с++. рекомендую найти и почитать. Скотт Мейерс | Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14
0
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
| 16.10.2017, 20:05 | |
|
Любой enum - это число (если тип не указан, компилятор может поставить char или short для экономии, это иногда приводит к тяжелым багам).
enum class (enum struct) - это: - если не указан тип, всегда int; - к элементам перечня можно добраться исключительно через имя перечня и ::, что способствует читаемости кода (вроде такого: если у нас два игрока, red и blue, и в то же время их цвета - red и blue, то цвета надо называть Color::red и Color::blue).
0
|
|
|
Любитель чаепитий
|
|||||||||||||||||
| 17.10.2017, 10:38 | |||||||||||||||||
|
http://en.cppreference.com/w/cpp/language/enum
имеет только на увеличение кол-ва бит для того, чтобы число влезло, если тип не указан.
Добавлено через 15 секунд http://en.cppreference.com/w/cpp/language/enum
имеет только на увеличение кол-ва бит для того, чтобы число влезло, если тип не указан.
0
|
|||||||||||||||||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|||||
| 18.10.2017, 02:47 | |||||
Добавлено через 2 минуты
0
|
|||||
|
Любитель чаепитий
|
||
| 18.10.2017, 05:54 | ||
|
но, тем не менее, ни один популярный компилятор не реализовал underlying type меньше int'a.хотя всё равно непонятно, как это может привести к хоть каким-то багам... как вообще реализация может полагаться на underlying type enum'а?есть, конечно, std::underlying_type, но это вообще шаблон для метапрограммирования...
0
|
||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||||||||||||||||||||
| 18.10.2017, 07:17 | ||||||||||||||||||||
)
Добавлено через 6 минут GbaLog-, кстати, пока писал, вот что пришло в голову: ( теория ) 1. Если писать вот так:
int, ибо компилятор посмотрит на литералы 0, 1 ( а это int по-умолчанию ), и сделает int как underlying type.Надо будет потом перечитать раздел про енум, возможно, там что-то есть об этом.
0
|
||||||||||||||||||||
|
Любитель чаепитий
|
|||||
| 18.10.2017, 08:26 | |||||
enum class/struct.ну, это если я правильно понял, что значит scoped enumeration, кстати, 7.2/5 как раз об них, то бишь там всегда int.sizeof(VALUE)?а вообще, если это важно, то для подобного есть метафункция, вычисляющая этот тип( std::underlying_type).Добавлено через 1 минуту 'a' туда вставь, будет int/unsigned int. во всяком случае у gcc, clang и vc++.
0
|
|||||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||
| 18.10.2017, 08:59 | ||
int8_t…Не знаю что ответить. Не до конца понимаю, извиняй ![]() Не по теме: Как ты цитируешь вместе со всеми тегами?
0
|
||
| 18.10.2017, 09:51 | |
|
0
|
|
| 18.10.2017, 09:51 | |
|
Помогаю со студенческими работами здесь
10
Поясните про socket Поясните про исключения Поясните про GitHub Поясните про эти функции Я новичек поясните про ВЛАНЫ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|