#include <string>
#include <iostream>
#include <map>
#include <utility>
using namespace std;
int main()
{
map<int, string> Employees;
// 1) Assignment using array index notation
Employees[5234] = "Mike C.";
Employees[3374] = "Charlie M.";
Employees[1923] = "David D.";
Employees[7582] = "John A.";
Employees[5328] = "Peter Q.";
cout << Employees;
cout << "Employees[3374]=" << Employees[3374] << endl << endl;
cout << "Map size: " << Employees.size() << endl;
/*for(map<int,string>::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii)
{
cout << (*ii).first << ": " << (*ii).second << endl;
}*/
system("pause");
}
Я хотел бы знать, что добавить для того, чтобы мне напечатать cout << Employees;
вместо использования iterator.Because я видел некоторый код, можно непосредственно напечатать содержимое карты с просто cout << Anythg
. Интересно, что заставило код работать?Могу ли я напечатать карту STL с соиЬ вместо петли итератора
Если перегрузить оператор << для карты вы, вероятно, могли бы. – Borgleader
Но вы не можете добавить эту перегрузку в 'std :: map' IIRC. – chris
Вы имеете в виду это? http://stackoverflow.com/questions/10750057/c-printing-out-the-contents-of-a-vector Посмотрите на второй ответ. –