|
0 / 2 / 3
Регистрация: 29.01.2017
Сообщений: 83
|
|||||||||||
Поясните про типизированный enum16.10.2017, 19:45. Показов 4289. Ответов 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 Поясните про эти функции Я новичек поясните про ВЛАНЫ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|