在C++;? 我是一个java大粉丝,但现在我必须为C++工作。我向您介绍了C++中的java哈希映射类型。在Google之后,我发现C++的STL库中没有哈希表/哈希表。但我发现了这些数据类型:map、无序映射、无序集和散列映射。hash_映射是microsoft特定的dll/库,其余的在STL下使用。我必须在IBMXLC/C++编译器上工作。所以我不能使用microsoft/boost,因为我的公司不推荐它们。我所要做的就是使用STL-specific。请提供一些关于这些收藏的信息。如果我必须选择hashmap功能,在这些STL细节中,什么是最好的?提前谢谢

在C++;? 我是一个java大粉丝,但现在我必须为C++工作。我向您介绍了C++中的java哈希映射类型。在Google之后,我发现C++的STL库中没有哈希表/哈希表。但我发现了这些数据类型:map、无序映射、无序集和散列映射。hash_映射是microsoft特定的dll/库,其余的在STL下使用。我必须在IBMXLC/C++编译器上工作。所以我不能使用microsoft/boost,因为我的公司不推荐它们。我所要做的就是使用STL-specific。请提供一些关于这些收藏的信息。如果我必须选择hashmap功能,在这些STL细节中,什么是最好的?提前谢谢,c++,map,hashmap,set,C++,Map,Hashmap,Set,unordered_map相当于java的HashMap,是一个散列映射,所以它可能就是您所追求的 map相当于java中的TreeMap。它作为一个应用程序实现 无序集相当于java的哈希集。它只包含键,而不包含成对的(键,值)无序映射相当于java的哈希映射,它是一个哈希映射-因此它可能就是您想要的 map相当于java中的TreeMap。它作为一个应用程序实现 无序集相当于java的哈希集。它只包含键,而不包含成对的(键,值)你读过维基百科的页面吗 如果你想要真正的哈希表(用一个密钥提供哈

unordered_map
相当于java的
HashMap
,是一个散列映射,所以它可能就是您所追求的

map
相当于java中的
TreeMap
。它作为一个应用程序实现


无序集
相当于java的
哈希集
。它只包含键,而不包含成对的
(键,值)

无序映射
相当于java的
哈希映射
,它是一个哈希映射-因此它可能就是您想要的

map
相当于java中的
TreeMap
。它作为一个应用程序实现


无序集
相当于java的
哈希集
。它只包含键,而不包含成对的
(键,值)

你读过维基百科的页面吗

如果你想要真正的哈希表(用一个密钥提供哈希代码,但是没有键之间的顺序),你可以使用C++ 2011模板。在这方面,您需要一个与C++11兼容的编译器


如果您可以提供密钥的顺序,也可以考虑使用甚至在旧的C++ 03标准中可用的。

< P>您读过维基百科的页面吗?

如果你想要真正的哈希表(用一个密钥提供哈希代码,但是没有键之间的顺序),你可以使用C++ 2011模板。在这方面,您需要一个与C++11兼容的编译器


如果您可以提供密钥的顺序,也可以考虑使用甚至在旧的C++ 03标准中可用的。

即使是半感兴趣的第二次外观也应该向您揭示,<代码>无序的映射/设置>代码>是一个散列容器。它是C++11、Boost和TR1的一部分,任何一个都应该做到这一点。即使是半感兴趣的第二次查看也应该向您揭示,
unordered_map/set
是一个散列容器。它是C++11、Boost和TR1的一部分,任何一个都应该做到这一点。如果顺序无关紧要呢?我的意思是,我所需要的只是一个键值对集合,它根据键存储值,当需要时,它应该检索给定键的值。如果您被限制为C++03(不是C++11,不是TR1,不是boost),那么将值关联到键的最简单方法就是提供该键类型的一些顺序,并使用
std::map
。这个顺序对你来说可能并不“重要”,但可能很容易提供。那么
std::map
应该可以。。。由于STL在
std::string
上提供了一个顺序,如果顺序不重要怎么办?我的意思是,我所需要的只是一个键值对集合,它根据键存储值,当需要时,它应该检索给定键的值。如果您被限制为C++03(不是C++11,不是TR1,不是boost),那么将值关联到键的最简单方法就是提供该键类型的一些顺序,并使用
std::map
。这个顺序对你来说可能并不“重要”,但可能很容易提供。那么
std::map
应该可以。。。因为STL在
std::string