Bu yüzden STL'den yeni standartlaştırılmış unordered_map
ile oynuyordum. Ben kodu, ben sadece bir unordered_map oluşturmak doldurmak ve çıktısını tür şu şekildedir:Neden unordered_map siparişi veriyor?
1 mary
2 had
3 a
4 little
5 lamb
6 whose
7 fleece
8 was
9 all
10 fleecey
Ama:
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;
Ancak, ben olsun çıkış thusly sıralanır Haritanızı sipariş etmek için fiyatı ödemek istemiyorum! Bu yüzden unordered_map kullanıyorum ... Burada neler oluyor?
ek not: Ben gcc version 4.3.4 20090804 (release) 1 (GCC)
kullanıyorum ve benzeri derleme am g++ -std=c++0X maptest.cpp
Benzer şekilde <= 'sizeof (std :: size_t)' boyutlarına sahip integral türleri için karma işlevleri sadece kimlik işlevleridir. – ildjarn
Eğlenmek için, 'm1 [10] = "fleecey"; 'm1 [154297] =" fleecey ";' :) – JohannesD