프로그래밍/Effective STL
[effective STL] 항목 13 : 동적으로 할당된 배열보다는 vector와 string이 낫다.
엘레멘탈키스
2015. 10. 2. 12:24
728x90
728x90
new는 많은 것을 생각하게 만든다.
new는?
- 언젠간 메모리를 해제해야 한다.
- delete도 메모리 타입에 따라 제대로 써야 한다. 배열?
- delete는 new 한번에 꼭 한번만 호출해야 한다. if var == nullptr 문이 생기지 이것때문에..
vector와 string는 메모리의 소멸을 자동으로 해준다.
STL 시퀀스 컨테이너의 필수사양을 완벽히 가지고 있다.
문제점
string가 참조 카운팅으로 구현된 것이 많다.
- 다중 스레드 환경에서 수행 성능의 저하가 만만치 않다.
해결방법
- 라이브러리의 참조 카운팅 기능을 끄는 것을 찾는다.
- 참조 카운팅을 사용하지 않는 string를 구현한다.....(ㅂㄷㅂㄷ?)
- string 대신에 vector<char>를 고려해본다.
728x90
반응형