STL 을 효율적으로 쓰자

1. 적재적소에 알맞은 컨테이너를 사용하자.
- 컨테이너에 따라 최적의 효율을 하는 기능이 있다. 컨테이너의 특징을 파악. 써야할 곳에 딱 맞는 컨테이너를 사용하자.
예)탐색속도 - 해쉬 컨테이너, C의 테이터 타입과 메모리 배열 구조와 호환할려면 - Only vector 등

2. "컨테이너에 독립적인 코드"라는 환상을 조심하자.
- 1번과 연관된 얘기와 컨테이너 마다에는 특징이 있는데, 이 모든 컨테이너에 일반화된 코드를 짠다면 각 컨테이너의 효율적인 기능을 사용할 수 없고, 버그만 양산할 뿐이다.

3. 복사는 컨테이너 안의 객체에 맞게 비용은 최소화하며, 동작은 정확하게~
- 컨테이너 안에 객체를 삽입하거나 뽑아오는 것 모두 객체 복사로 이루어진다. 만약 속도를 빠르게 하고, 또 정확하게 할려면 포인터 컨테이너를 사용하라. 예상한대로 정확히 동작할 것이다.

4. size()의 결과를 0과 비교할 생각이라면 차라리 empty를 호출하자.
- 컨테이너에 따라 size 를 구하기 위해 상수시간 이상의 시간이 소요될 수 있다. 하지만 empty 는 항상 상수시간 함수이다.

*참조 : Effective STL
by hehua | 2004/08/02 23:49 | 개발 | 트랙백 | 덧글(0)
트랙백 주소 : http://hehua.egloos.com/tb/655448
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글