C++中的hash_map和unordered_map都是用来存储键值对的数据结构,但它们在实现和性能上有一些区别。
hash_map在一些编译器(如Visual C++)中是标准库的一部分,但在一些编译器中可能需要额外的库。
unordered_map是标准C++中的一部分,因此在所有支持C++11标准的编译器中都可以使用。
在C++11标准中,unordered_map比hash_map更加高效,因为它使用了更加现代化的哈希表实现,并且在解决冲突时性能更好。
在C++17标准中,hash_map已被废弃,建议使用unordered_map。
综上所述,建议在C++中使用unordered_map而不是hash_map,因为unordered_map在性能和标准支持上都更好。