Войти
ПрограммированиеФорумОбщее

[C++] Строки как замена enum (3 стр)

Страницы: 1 2 3
#30
10:48, 9 июня 2018

Sbtrn. Devil
а зачем его удалять? пусть остаётся. не использовать его - и всё...


#31
11:06, 9 июня 2018

отдельно написать функцию для валидации данных в БД, а в коде вообще не использовать строки написанные вручную.

#32
(Правка: 13:38) 13:37, 9 июня 2018

ardru
> А почему просто не хранить енумы в базе данных как числа?
  А я уж думал, что за две страницы до этого никто не догадается. У всех почему-то сразу фиксация на строках, хотя переход на JSON по сути не запрещает по прежнему использовать всё те же числа.

Sbtrn. Devil
> Потому что понадобится удалить какой-нибудь енум из середины - и сразу же будет
> больно и трудно.

enum QWE {
  one = 1,
  two = 2,
  five = 5
}
  И хоть заудаляйся.

  Вообще конечно уже одно то, что в С++ нет такой элементарной фичи, как перевод енума в строку (и обратно), отлично показывает насколько его создателям до одного места то, насколько удобно на этом языке писать что-то сложнее калькулятора.

#33
(Правка: 19:27) 19:26, 9 июня 2018

Zefick
В С++ есть std::map и много всего прочего. Просто овновная фишка С++ - это совместимость с языком С, который создавался в 1968 году с целью поместить компилятор, стандартные библиотеки, компилируемую программу и результат её выполнения на компьютер с 60 килобайтами памяти!

При этом, компилятор включает в себя препроцессор, который заменяет енумы на числа, и основной компилятор уже не знает ни про какие строки. Компилятор выдаёт программу на ассемблере, а уже она переводится в машинный код другим компилятором.

#34
6:10, 10 июня 2018

mr.DIMAS
Используй генерацию кода. Из коробки удобное использование enum как числа и строки
https://gamedev.ru/projects/forum/?id=230255#m1

Страницы: 1 2 3
ПрограммированиеФорумОбщее