[질문] SGI STL hash_map에서 포인터 delete
글쓴이: sulsj / 작성시간: 수, 2006/06/28 - 2:50오후
안녕하세요
SGI STL의 hash_map을 사용중입니다.
꼭 hash_map이 아니라 map 경우에도 마찬가지겠는데
hash_map/map의 포인터 멤버를 deallocate하는 방법을 잘 모르겠습니다.
hash_map<const char*, vector<int>, hash<const char*>, eqstr>
이렇게 정의해서 쓰고 있구요. 보시다시피 키가 char*입니다.
필요에 의해 hash_map을 clear 해야하는데
char 배열 deallocate가 잘안되네요
for (HASHTREEMAP_ITER_T::iterator it = _hashtreemap.begin(); it != _hashtreemap.end(); ++it) { delete[] it->first; }
위와 같이 했는데 잘안됩니다. -_-
그리고 hash_map/map을 deallocate할 때
위와 같이 할당해제가 된다면 그후에 다시 map.clear()를 호출해줘야 하는건가요?
조언 좀 해주시면 감사하겠습니다.
그럼...
Forums:
객체를 지우고 STL
객체를 지우고 STL 컨테이너에서도 따로 지워주셔야 하는 게 맞습니다.
----------------------------
May the F/OSS be with you..
댓글 달기