boost shared_ptr이 std::map 의 value member로 사용할 때 질문입니다.
글쓴이: chobozzang / 작성시간: 목, 2014/01/09 - 2:12오후
안녕하세요.
map 의 밸류로 들어갈 구조체가
typedef struct _abc {
int a;
int b;
boost::shared_ptr dt;
}abc;
이런식으로 선언 되어 있고
std::map test_map;
이렇게 정의되어 있을 때 map을 erase 하기 전에 shared_ptr 을 지워주지 않아도 메모리 leak 이 발생하지 않을까 궁금해서요... map erase 하면서 자동적으로 value 값이 지워질때 shared_ptr 이 파괴되면서 소멸자가 호출될까요?
혹시 이 부분을 테스트하려면 어떻게 해야 좋을까요? 해당 프로세스의 가상 메모리 사용량을 계속해서 log로 찍어주는 방법이 있을까요?
Forums:
asd
std::map<int, abc> test_map; 입니다.
테스트해보시려면 shared_ptr에 넣는 객체의
테스트해보시려면 shared_ptr에 넣는 객체의 소멸자를 찍어보면되죠.
ㅇ
감사합니다 ^^. 테스트해보니 map을 지우니까 소멸자가 호출되네요
댓글 달기