所以我在玩unordered_map
STL 的新标准化。我的代码有点像这样,我只是创建一个 unordered_map,填充它,然后打印出来:
unordered_map<int,string> m1;
m1[5]="lamb";
m1[2]="had";
m1[3]="a";
m1[1]="mary";
m1[4]="little";
m1[7]="fleece";
m1[6]="whose";
m1[10]="fleecey";
m1[8]="was";
m1[9]="all";
for(unordered_map<int,string>::const_iterator i = m1.begin(); i != m1.end(); ++i)
cout<<i->first<<" "<<i->second<<endl;
但是,我得到的输出是这样排序的:
1 mary
2 had
3 a
4 little
5 lamb
6 whose
7 fleece
8 was
9 all
10 fleecey
但我不想为订购我的地图而付出代价!这就是我使用 unordered_map 的原因......这里发生了什么?
附加说明:我正在使用gcc version 4.3.4 20090804 (release) 1 (GCC)
并且正在像这样编译g++ -std=c++0X maptest.cpp