打印順序問題
#include <stdio.h>
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main(void)
{
????map<string, string> m;
????pair<string,string> p1("S","Shang Hai");
????pair<string,string> p2("B","Bei Jing");
????pair<string,string> p3("G","Guang Zhou");
????m.insert(p1);
????m.insert(p2);
????m.insert(p3);
????map<string,string>::iterator itor = m.begin();
????for( ; itor != m.end() ; itor++ )
????{
????????cout << itor->first << "-";
????????cout << itor->second << endl;
????}
????return 0;
}
為什么打印結果是
B-Bei Jing
G-Guang Zhou
S-Shang Hai
不應該是上海最先被打印出來嗎?
2018-07-28
打印是按索引(key)的順序打印的,如“A”,先于“B”打印。