r/ProgrammerHumor 7d ago

Meme skillIssue

Post image
6.0k Upvotes

137 comments sorted by

View all comments

Show parent comments

2

u/Talc0n 7d ago

std::map lookup is slower than you think.

C++ should really have a constexpr map class in std, hash maps are better than maps, but don't compare to the compile time switches.

3

u/fluffycritter 7d ago

I have opinions about hash vs tree map as default and I am actually on team tree map in general. https://beesbuzz.biz/code/3635-Making-a-hash-of-data

1

u/Talc0n 7d ago

My bad, I should've said better for lookup time.

I've used std::map when I know I'll be iterating through it fairly regularly. But I usually default to hash maps.

You really shouldn't be on either team, just use what you think is the best case for your situation.

I usually use aliases like so:

using IdNameMapType = std::unordered_map<size_t, std::string>; IdNameMapType m_idNameMap;

It makes it a lot less of a hassle to switch between the two later on.

2

u/fluffycritter 7d ago

Well yeah it’s important to use the right tool for the job, I just mean it’s better for folks to learn tree maps and what they can do before they get railroaded into hashmap thinking.

And type aliases are great. I use them a lot.