Uses `c++11 std::unordered_map` will be better.