C++의 창시자 및 설계자인 Bjarne Stroustrup(발음하기도 힘들다)도 string에 대한 구현은 갖가지가 될 수
있다고 말할 정도로, string은 다른 STL보다 정말 구현방법에 많은 차이가 보인다. 이렇기 때문에 string에 대한 상세한 사항을 알 필요는 없지만, 왜 알 필요가 없는지 알 필요는 있다고 필자는 이야기한다.
이렇게 다를 수 있으니, 참고해 두자는 취지로 필자는 말한다.
- string의 문자열 값은 참조 카운팅이 될 수도 있고, 아닐 수도 있다. 기본적으로 많은 라이브러리에선 하고 있다, 또한 이 기능을 막는 방법이 매크로 단계에서 제공하고 있다.
- string 객체의 크기는 포인터 크기의 1~7배까지 다양하다.
- string에 문자열을 할당할 때 0~2번 메모리 할당 할 수 있다.
- 둘 이상의 string 객체가 문자열의 크기나 용량 정보를 가지고 있을수도 없을수도 있다.;
- 문자 버퍼를 위해 할당하는 메모리의 최소량을 구현된 라이브러리마다 천차만별이다.
이렇게 다를 수 있으니, 참고해 두자는 취지로 필자는 말한다.
'책 정리 > Effective STL' 카테고리의 다른 글
항목 20 : 포인터를 저장하는 연관 컨테이너에 대해서는 적합한 비교(비교함수) 타입을 정해주자 (0) | 2008.07.18 |
---|---|
항목 19 : 상등 관계(equality)와 동등 관계(equivalence)의 차이를 파악하자 (0) | 2008.07.18 |
항목 18 : vector<bool> 보기를 돌 같이 하자. (0) | 2008.07.17 |
항목 17 : 쓸데없이 남은 용량은 "바꿔치기(swap) 묘수"를 써서 없애 버리자. (0) | 2008.07.17 |
항목 16 : 기존의 C API에 vector와 string을 넘기는 방법을 알아두자 (0) | 2008.07.17 |
항목 14 : reserve는 필요 없이 메모리가 재할당되는 것을 막아 준다. (1) | 2008.07.16 |
항목 13 : 동적으로 할당한 배열보다는 vector와 string 이 낫다. (0) | 2008.07.15 |
항목 12 : STL 컨테이너의 쓰레드 안전성에 대한 기대는 현실에 맞추어 가지자. (0) | 2008.07.15 |
항목 11 : 커스텀 할당자를 제대로 사용하는 방법을 이해하자. (0) | 2008.07.15 |
항목 10 : 할당자(allocator)의 일반적인 사항과 제약 사항에 대해 잘 알아 두자. (2) | 2008.07.14 |
최근댓글