hash_map和stdext :: hash_map?

时间:2010-06-10 07:57:16

标签: c++ visual-c++ stl

在visual C ++下,我们有“hash_map”和“hash_set”。在g ++中,我们有“stdext :: hash_map”和“stdext :: hash_set”。各自的表现或其他因素有什么不同吗?

2 个答案:

答案 0 :(得分:2)

这些都不是标准。他们只是满足需求。关于表演,我不知道,但我猜他们真的很相似。

TR1中存在的,将包含在C ++ 1X中的是unordered_map和unordered_set 他们说他们更改了名称,以避免与以前的非标准实现混淆。

http://www2.research.att.com/~bs/C++0xFAQ.html#std-unordered

答案 1 :(得分:1)

正如崔斯特瑞姆指出的那样,标准是(或将是)unordered_map。怎么弄它有点混乱。可能最好的方法是:

#include <unordered_map>

int main() {
    std::unordered_map<int,int> m;
}

并使用C ++ 0X开关编译g ++:

g++ -std=c++0x mymap.cpp