[effective STL] 항목 13 : 동적으로 할당된 배열보다는 vector와 string이 낫다.

2015. 10. 2. 12:24프로그래밍/Effective STL

728x90
728x90

new는 많은 것을 생각하게 만든다.


new는?

- 언젠간 메모리를 해제해야 한다.

- delete도 메모리 타입에 따라 제대로 써야 한다. 배열?

- delete는 new 한번에 꼭 한번만 호출해야 한다. if var == nullptr 문이 생기지 이것때문에..


vector와 string는 메모리의 소멸을 자동으로 해준다.

STL 시퀀스 컨테이너의 필수사양을 완벽히 가지고 있다.


문제점

string가 참조 카운팅으로 구현된 것이 많다.

- 다중 스레드 환경에서 수행 성능의 저하가 만만치 않다.


해결방법

- 라이브러리의 참조 카운팅 기능을 끄는 것을 찾는다.

- 참조 카운팅을 사용하지 않는 string를 구현한다.....(ㅂㄷㅂㄷ?)

- string 대신에 vector<char>를 고려해본다.

728x90
반응형