C++ 为什么set\u缓存\u散列\u代码只对std::\u无序\u映射可用?
我可以看到C++ 为什么set\u缓存\u散列\u代码只对std::\u无序\u映射可用?,c++,hash,c++11,C++,Hash,C++11,我可以看到std::\uuuuUnordered\uMap和\uuuCache\uHash\uCode=true有很大的运行时性能提升。但它不可用于std::无序\u映射。\uuuuuu cache\u hash\u code=true是否已弃用?名称中任何带有双下划线(\uuuuuuu)的标识符都是由实现保留的,因此它是一段特定于实现的代码,将来可能会或不会受到相同或不同语义的支持 除非分析表明散列是程序中的一个重要瓶颈,否则只需使用标准容器来帮助实现可维护性和可移植性。std::unorde
std::\uuuuUnordered\uMap
和\uuuCache\uHash\uCode=true
有很大的运行时性能提升。但它不可用于std::无序\u映射
。\uuuuuu cache\u hash\u code=true是否已弃用?名称中任何带有双下划线(\uuuuuuu
)的标识符都是由实现保留的,因此它是一段特定于实现的代码,将来可能会或不会受到相同或不同语义的支持
除非分析表明散列是程序中的一个重要瓶颈,否则只需使用标准容器来帮助实现可维护性和可移植性。std::unordered_map
支持自定义散列函数。如果分析表明需要缓存,则可以在自定义哈希函子中实现该缓存。它可以非常便携。