Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А если поднапрячь еще немного мозги можно получить такую функцию
А если поднапрячь еще немного мозги можно получить такую функцию
Отчего ж
раз функция int то пущай и return пользу приностит.
ну и вызов видимо вот так
результат такой
1) введение ++ для перечисления
2) преобразование перечисления к строке
По перечислениям обсуждается:
1) введение ++ для перечисления
2) преобразование перечисления к строке
По перечислениям обсуждается:
1) введение ++ для перечисления
Есть ли уже такой функционал?
Или другая альтернатива чтоб последовательно перебрать элементы перечисления??
Мне кажется, что инкрементация для перечисления - это не совсем верный шаг.
Перечисление по умолчанию - вовсе не обязательно должно быть последовательным, а кроме того, при разработке - в него "в середину" могут добавляться значения.
Понятное дело, что "для упрощения" было бы неплохо инкрементируя перечисления - получать сразу же "следующее" значение, но, по-моему, это потенциально опасная практика.
Для получения "следующего значения" в перечислении самое разумное - это использовать специальную функцию, как тут уже и говорилось.
Причем, как я погляжу, народ игнорирует селектор default - и очень напрасно. В каждом switch() - обязательно должен быть этот селектор с предупреждением, что пришло непонятное значение.
George Merts:
инкрементируя перечисления - получать сразу же "следующее" значение
Ilyas это и имел ввиду
У меня к нему или ответственному разработчику вопрос был. Решилась эта задача - каким то образом перебрать программно все элементы или все еще в процессе...
Мне особо все равно как проходить
оператор foreach
новые функции типа GetNextEnum / GetLastEnum / GetFirstEnum
или перегрузка ++
главное чтоб не как было предложено выше - рисовать функции для текущих енамов, а потом боятся чтоб ничего не сломалось при их апдейтах разрабами
Боже, да зачем такие сложности - какие-то плюсики, итераторы... Cамое очевидное и гибкое решение - это ввести в язык функцию, получающую все значения перечисления в массив. И дальше уже сам решаешь, как обходить этот массив, хоть крест-накрест. Тем более, тебе ведь в любом случае придётся сохранять все значения. Не собираешься же ты на каждом вызове повторно всё обходить. Один раз обошёл, сохранил, и дальше просто берёшь из массива. Так не проще ли сразу получить готовый массив?
Кстати, а вариант с перегрузкой оператора ++ может привести к некорректной работе уже существующих программ, так что это крайне плохой вариант.
Ну а продемонстрированные тут примеры (case 1: return value1; case 2: return value2; case 3: return value3... и т.д.) - это вообще образец глупости. Адекватный человек поместит все значения в массив и будет просто получать нужное значение по его индексу. А для обратной задачи воспользуется бинарным поиском.
Боже, да зачем такие сложности - какие-то плюсики, итераторы...
Да хоть как, лишь бы было.
Ну а продемонстрированные тут примеры (case 1: return value1; case 2: return value2; case 3: return value3... и т.д.) - это вообще образец глупости. Адекватный человек поместит все значения в массив и будет просто получать нужное значение по его индексу. А для обратной задачи воспользуется бинарным поиском.