Use if.. else if.. or Hashmap to switch a long list of strings?

3 days ago 8
ARTICLE AD BOX

I have something like this 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{}; } ...

Now I'm wondering if it's even worth it to create a hashmap out of it for fast switching or if modern compilers (gcc, clang) will anyway do this behind my back? What's the consensus as of today?

Read Entire Article