STL Map

Programing/etc 2012. 5. 21. 00:25 |

map 이 뭐길래 그럴까? perl에서 hash 배열인가? 하는것 아는 사람이 있을지 모르겠지만..

배열의 첨자가 숫자가 아닌 키워드로 인식하는것이다. 숫자가 들어가더라도 그것이 크기와는

상관없고 단지 키값만 되는것이다.

 

즉 키워드와 키워드가 매칭시킬수 있다는것이 map의 큰 장점이다.

 

map<string, info> data; 라고 선언을 한다면

data["seeper"]; data["abcd"]; 라는 표현이가능해진다.

 

map<int, info> data; 라고 선언을 한다면

data[3]; data[5]; ,등의 표현도 가능해진다.

여기서 data[4]를 선언하기전까지 data[4]는 존재하지 않는다.

 

물론 iterator를 이용해서 전체를 찾아볼수도 있다.

또한 key를 찾는 key를 만들어서 두가지의 인덱스로 데이터를 찾게 할수도 있을것이다.

활용범위는 config값이나 resource manager 등에서 쓸수 있다.

서버쪽에서는 아마도 로그인정보를 이렇게 관리하는것도 괜찮을것 같다.

(이 경우는 좀더 고민하긴 해야한다. 동접이 몇명이냐에 따라 또 달라질것이다.)

 

머리만 잘쓰면 map의 활용범위는 많을것 같다. ^^

그리고 STL은 포인터의 구조보다 일반적인 스트럭쳐나 단일 타입을 위해서

설계되었다. 물론 포인터를 사용할수 있지만 new와 delete는 개발자의 몫이된다.

따라서 메모리 누수가 일어날 확률이 높다.

특별한 경우가 아니고는 포인터를 사용하지 않는 것이 좋다.

[출처] STL : map|작성자 시퍼렁새

 

단점 삽입 삭제가 느리다

'Programing > etc' 카테고리의 다른 글

obb  (0) 2012.05.22
소멸자를 가상함수로 해야 하는 이유  (0) 2012.05.21
xml 장점 단점  (0) 2012.05.21
순수, 가상함수 차이 활용  (0) 2012.05.21
run-time error  (0) 2012.05.21
Posted by 부우산사나이
: