인프런 커뮤니티 질문&답변
Map에 관해 질문이 있습니다.
작성
·
255
0
안녕하세요 선생님.
Map<int,int> mp; 가 있을때
for (auto it: mp)에서
it.first와 it.second가 되는데,
왜 mp.first mp.second는 안되는지 궁금합니다.
답변 1
0
큰돌
지식공유자
안녕하세요 ㅎㅎ
자, first와 second는 해당
이터러블한 객체안의
요소들을 참조할 때 쓰입니다.
음.. 그니까
map은 어떤 자료구조죠?
{key, value} 형태의 요소들을
순회할 수 있는 컨테이너에 담아놓는 거죠?
즉,
[{key, value}, {key, value}, ...]으로 생각하시면 됩니다.
여기서 해당 요소를 순회하면서 참조할 때 key를 first, value를 second로 참조할 수 있게 해 놓은 것이죠.
또한, 맵 자체, [{key, value}, {key, value}, ...] 이것들을 first와 second 로 참조할 수 있게는 만들어져있지 않아서 mp.first 등으로는 안되는 것입니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
강사 큰돌 올림.





