강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Kouga님의 프로필 이미지
Kouga

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

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 등으로는 안되는 것입니다.

또 질문 있으시면 언제든지 질문 부탁드립니다.

감사합니다.

강사 큰돌 올림.

 

Kouga님의 프로필 이미지
Kouga

작성한 질문수

질문하기