Используйте if.. else if.. или Hashmap для переключения длинного списка строк?C++

Программы на C++. Форум разработчиков
Anonymous
Используйте if.. else if.. или Hashmap для переключения длинного списка строк?

Сообщение Anonymous »

У меня есть что-то вроде этого x100:

Код: Выделить всё

   if (type == "case1")
{
handler_key.type = Case1{};
}
else if (type == "case2")
{
handler_key.type = Case2{};
}
else if (type == "case3")
{
handler_key.type = Case3{};
}
else if (type == "case4")
{
handler_key.type = Case4{};
}
else if (type == "case5")
{
handler_key.type = Case5{};
}
else if (type == "case6")
{
handler_key.type = Case6{};
}
else if (type == "case7")
{
handler_key.type = Case7{};
}
else if (type == "case8")
{
handler_key.type = Case8{};
}
...
Теперь мне интересно, стоит ли вообще создавать из него хэшмап для быстрого переключения или современные компиляторы (gcc, clang) все равно будут делать это за моей спиной? Каков консенсус на сегодняшний день?

Подробнее здесь: https://stackoverflow.com/questions/798 ... of-strings

Вернуться в «C++»