내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목은 포인터를 컨테이너에 담았을 때, remove-erase 합성문으로 지워도 메모리 누수가 발생할 수 있다는 지적을 해준다. 당연하겠지만.. 포인터를 담는 변수를 지운다고 해서, 포인터의 실제값이 사라지는게 아니기 때문이다. 누누히 말해오는 것이기 때문에 길게 이야기 할것 없이 결론만 말한다. 포인터를 담는 컨테이너의 경우, 1. 직접 delete 시켜주고 날리거나, 2. 스마트 포인터를 담아주자.
삭제 검색 결과
해당 글 3건
항목 33 : remove와 비슷한 알고리즘을 포인터의 컨테이너에 적용할 때에는 각별히 조심하자.
책 정리/Effective STL
2008. 9. 2. 14:57
항목 32 : 요소를 정말로 제거하고자 한다면 remove 류의 알고리즘에는 꼭 erase를 붙여 사용하자.
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 STL 알고리즘 중 동작이 제일 혼동스러운 함수를 손꼽으라면 단연 remove가 뽑힌다. 왜냐하면 함수명이 ... 햇갈리기 때문이다. remove 알고리즘을 호출하여 컨테이너 내부의 값들을 지울려고 한다해도, 컨테이너 내부의 값들은 지워지지 않는다. 왜냐하면 remove 함수는 이터레이터를 인자로 받기 때문에, 어떤 컨테이너에서 값을 지워야 하는지 알 수 없기 때문이다. 그런고로, remove 류의 모든 함수들(unique, remove_if)은 값을 지..
책 정리/Effective STL
2008. 9. 2. 14:53
최근댓글