내가 STL에 조예가 깊어서 글을 남기는 것이
아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면
지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필
이번 항목은 포인터를 컨테이너에 담았을 때, remove-erase 합성문으로 지워도 메모리 누수가 발생할 수 있다는 지적을 해준다.
당연하겠지만.. 포인터를 담는 변수를 지운다고 해서, 포인터의 실제값이 사라지는게 아니기 때문이다. 누누히 말해오는 것이기 때문에 길게 이야기 할것 없이 결론만 말한다.
포인터를 담는 컨테이너의 경우,
1. 직접 delete 시켜주고 날리거나,
2. 스마트 포인터를 담아주자.
이번 항목은 포인터를 컨테이너에 담았을 때, remove-erase 합성문으로 지워도 메모리 누수가 발생할 수 있다는 지적을 해준다.
당연하겠지만.. 포인터를 담는 변수를 지운다고 해서, 포인터의 실제값이 사라지는게 아니기 때문이다. 누누히 말해오는 것이기 때문에 길게 이야기 할것 없이 결론만 말한다.
포인터를 담는 컨테이너의 경우,
1. 직접 delete 시켜주고 날리거나,
2. 스마트 포인터를 담아주자.
'책 정리 > Effective STL' 카테고리의 다른 글
항목 38 : 함수자 클래스는 값으로 전달되도록(pass-by-value) 설계하자. (0) | 2008.09.05 |
---|---|
항목 37 : 범위 내의 데이터 값을 요약하거나 더하는 데에는 accumilate나 for_each를 사용하자 (1) | 2008.09.05 |
항목 36 : copy_if를 적절히 구현해 사용하자 (0) | 2008.09.03 |
항목 35 : 대소문자를 구분하지 않는 문자열 비교는 mismatch 아니면 lexicographical_compare를 써서 간단히 구현할 수 있다. (0) | 2008.09.03 |
항목 34 : 정렬된 범위에 대해 동작하는 알고리즘이 어떤 것들인지 파악해 두자 (0) | 2008.09.03 |
항목 32 : 요소를 정말로 제거하고자 한다면 remove 류의 알고리즘에는 꼭 erase를 붙여 사용하자. (0) | 2008.09.02 |
항목 31 : 정렬시의 선택 사항들을 제대로 파악해 놓자. (0) | 2008.09.02 |
항목 30 : 알고리즘의 데이터 기록 범위(destination range)는 충분히 크게 잡자 (0) | 2008.07.28 |
항목 29 : 문자 단위의 입력에는 istreambuf_iterator의 사용도 적절하다. (0) | 2008.07.27 |
항목 28 : reverse_iterator에 대응되는 기점 반복자(base iterator)를 사용하는 방법을 정확하게 이해하자. (1) | 2008.07.27 |
최근댓글