[완료] C++ STL 을 어디에 사용 하는것이 가장 효과적인가요?

ikpil의 이미지

질문이 너무 광범위 한거 같습니다.

각 컨테이너 마다 특징이 있어, 각각의 용도가 분명 구분되어지어, 사용하면 최적화가 가능할것이라고 생각되지만
정작 실제 코딩하다보면, list 와 map만 사용 하고 있답니다;

vector
deque
list
multiset
set
map
multimap

이 컨테이너들을 사용 할때, 어떨 때 좋았었는지 알려주신다면, 도움이 많이 될 것 같습니다.

gamdora의 이미지

http://idb.snu.ac.kr/~sjjung/stl/sel_2116.htm

저는 일단 위의 내용을 따릅니다.

ddoman의 이미지

STL의 대부분이 자료구조와 알고리즘과 관련된 템플릿이라고 생각하면
굳이 STL이 아니라
어떤 자료구조가 알맞을 것인가를 생각해보세요.

vector, queue, list 자료 구조의 특성은 전산과 1학년 때 배우는 부분들입니다.
STL의 map은 binary tree로 구현 되어있다고 하네요. 그래서 hashing 으로 map을 구현 하는 것에 대한
요구가 많았고, boost에서는 hashing 을 사용해서 map을 구현해 놓은 class가 있다고 들은 것 같습니다. 한번 확인 해 보세요.

결국 STL은 그냥 framework 일 뿐이고, 어떤 자료구조를 써야 할지 생각 해 보시면 될 것 같습니다.
template 을 이용한 자료 추상화에 대한 부분을 고려하신 다면 그건 STL에 관한 부분이 아니라
template에 대한 얘기겠죠. 전 개인적으로 template을 꽤 좋아합니다만..

글구 사용하다 보면, 저의 경우는 vector 쓸 때가 가장 많았던 거 같은데요 :D
단순한넘이 가장 많이 쓰이더군요.

ikpil의 이미지

답변 감사합니다. 도움이 많이 되었습니다.

http://blog.naver.com/raon_pgm?Redirect=Log&logNo=140001810086

여기 글도 잘 정리되어서 좋았습니다.