在visual C ++下,我们有“hash_map”和“hash_set”。在g ++中,我们有“stdext :: hash_map”和“stdext :: hash_set”。各自的表现或其他因素有什么不同吗?
答案 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