map<int, int> m;
맵 위와같이 선언한 다음에
데이터를 여러개 넣고
key = 1 의 value가 뭔지 궁금해서
cout << m[1]; 를 해봤거든?
근데 만약 key=1에 해당하는 값이 없는 경우에
m[1] = 0을 선언한 다음에 0을 반환하더라
미친놈 아님? 왜 지맘대로 데이터 생성하는거야
map<int, int> m;
맵 위와같이 선언한 다음에
데이터를 여러개 넣고
key = 1 의 value가 뭔지 궁금해서
cout << m[1]; 를 해봤거든?
근데 만약 key=1에 해당하는 값이 없는 경우에
m[1] = 0을 선언한 다음에 0을 반환하더라
미친놈 아님? 왜 지맘대로 데이터 생성하는거야
원래 없는 값이 들어올 경우에는 디폴트값인 0을 자동 생성하도록 라이브러리가 짜져있으니까...
그래서 m[1]++같은거 그냥 써도 m[1]=1 들어감 counting같은거 할때 편리함
그러면 그냥 조회하고 싶을때는 무조건 find 써야해?
find쓰거나 count써도 됨
ㄳㄳ
count는 multimap때문에 있는건가? 그냥 map에서는 0아니면 1밖에 반환 안하겠네
맞음 set도 그래
ㄳㄳ
map은 [a] 했을 때 key가 a인 원소 없으면 만들어
그러면 그냥 조회하고 싶을때는 무조건 find 써야해?
있는지 조회 : map.find(a) != map.end() 이면 있는것 아니면 map.count(a) > 0
그냥 map.count(a)까지만 써도 조건문에서 잘 동작한다는 TMI