[질문] SGI STL hash_map에서 포인터 delete

sulsj의 이미지

안녕하세요
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()를 호출해줘야 하는건가요?

조언 좀 해주시면 감사하겠습니다.
그럼...

hey의 이미지

객체를 지우고 STL 컨테이너에서도 따로 지워주셔야 하는 게 맞습니다.

May the F/OSS be with you..



----------------------------
May the F/OSS be with you..