Используйте 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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