#include <map>
map<int, int> m;
m[4] = 4;
m.insert({4,4});
cout << m[4] << endl;
하지만 m[4]
와 같은 식으로 접근할 경우 원소가 없으면 0을 리턴에 원소가 실제로 존재하지 않는지 확실히 알 수 없다. 따라서 m.find(4)와 같이 접근해야 원소가 있는지 없는지 확실히 알 수 있다.
if (m.find(5) == m.end())
find는 원소가 없을 시 마지막 원소를 리턴한다.
//m : [{4,4}]
m.erase(4);
//m : []
map에는 pair을 넣기에 pair와 똑같은 방식으로 값에 접근한다.
for (map<int, int>::iterator i = m.begin(); i != m.end(); i++)
{
cout << i->first << i->second;
}
auto를 사용하면 포인터 참조를 하지 않아도 된다.
for (auto i = m.begin(); i != m.end(); i++)
{
cout << i.first << i.second;
}