Std::map 아시죠?


#1

제가 openFrameworks를 사용하다 보면 느끼는게 c++을 잘 사용하는 법을 배우는 것 같아요. 높은 수준의 c++사용법이 기본 코드에 많이 녹아들어 있거든요.

오픈 프레임웍스 사용하다가 배운것 중 하나가 map의 사용이에요.

objective C 에 보면 dictionary라고 하는 것과 대응하는 것으로 보면 될 것 같은데. vector와 다르게 인덱스의 역할을 하는 것을 내 마음대로 정할 수 있어요. 바로 key죠.
물론 벡터도 인덱스로 사용할 것을 미리 define해 놓을 수도 있고 그런데 불편한 수준이고 여러모로 불편합니다. 사람이 읽기 불편하죠.

openframeworks에서는 string을 key로 해서 여러가지를 저장하는데, 이부분을 따라해서 사용해보니 여러모로 편리한점이 많습니다. 또한 vector와 같이 iteration이 되기 때문에 벡터를 대체하는데 불편함도 없고요. 바이너리 서치트리 형태로 저장이 되어서 검색 시간도 꽤 빠르고요, unordered map같은 경우는 hash를 사용해서 탐색 시간은 더 빠르기는 합니다. 또한 사람이 읽기 편한 형태가 됩니다. 인덱스가 단순 숫자가 아니라 뜻이 있는 string이기 때문에 왜 그 값에 접근하는지 이유를 명확히 알 수 있습니다. 약간의 데이터를 더 사용하면서 사람이 얻는 이득은 매우 큰 것 같아요.

그냥 갑자기 쓰다보니 생각나는대로 썼는데, 혹시 사용하지 않으시는 분은 한번 사용법을 알아보시고 사용해 보세요.
저같은 경우는 of 로부터 배운 것 중 가장 만족스러운 것 중 하나니까요


#2

맞습니다. 정말 유용 합니다. 저 같은 경우는


여기서 map 사용법을 깨우쳤습니다. ㅎ