先问个问题吧,map中的key能够相同吗?若是相同,程序会咋样呢?ios
#pragma warning(disable : 4786) //VC++6.0对map的支持很差,因此要把这个东东放在最前面,不然警告一大堆 #include <map> #include <string> #include <iostream> using namespace std; typedef map<int, int> MyMap; int main() { MyMap m; m.insert(make_pair<int, int>(1, 3)); m.insert(make_pair<int, int>(0, 4)); m.insert(make_pair<int, int>(0, 2)); MyMap::iterator it; for(it = m.begin(); it != m.end(); it++) { cout << it->first << "--->"<< it->second <<endl; } return 0; }结果为:
0--->4
1--->3
可见,key值相同是没有意义的。那value值能够相同吗?能够的,且看:spa
#pragma warning(disable : 4786) //VC++6.0对map的支持很差,因此要把这个东东放在最前面,不然警告一大堆 #include <map> #include <string> #include <iostream> using namespace std; typedef map<int, int> MyMap; int main() { MyMap m; m.insert(make_pair<int, int>(1, 3)); m.insert(make_pair<int, int>(2, 3)); m.insert(make_pair<int, int>(0, 3)); MyMap::iterator it; for(it = m.begin(); it != m.end(); it++) { cout << it->first << "--->"<< it->second <<endl; } return 0; }
0--->3
1--->3
2--->3
code