Цитата(DASM @ Jul 25 2018, 18:31)
Стоп стоп. Почему Вы считаете это говнокодом и как бы Вы сделали, не городя монстра?
Разве не очевидно? Функция ожидает int, а получает то, что дадут.
В подобных ситуациях делают ряд функций, каждая из которых работает со своим типом данных.
Либо передается в одну функцию ссылка на определенную структура, где заранее расписаны "детали" поиска и что искать.
Существуют и другие способы, но там уже используются чисто плюсы и их "фишки".
Цитата
По сути из имени получается бесплатно подобие хэша.
Неявно, неочевидно. Со временем развития проекта из-за этого могут возникнуть проблемы, которые найти будет довольно сложно.
Компилятор заругается, если будет не 4 цифры, а больше или int на неком железе окажется равным не 4 байтам. Но ведь это лишь предупреждение... Не дай бог это попадет в библиотеку, где линкер при сборке этого просто не увидит!
А если дать всего 3 цифры, то что получит на входе функция? Лотерею из мусора в стеке?...