항목 13 : 자원은 개체가 가지게끔 하라. RAII와 스마트 포인터를 활용하라. ( Ensure resources are owned by objects. Use explicit RAII and smart pointers. )
자원은 메모리인데, 이런 메모리를 사용하기 위해서 new 를 사용하게 된다. new로 할당한 자원은 항상 delete 를 해 줘야 하는데, 깜박 깜박하고 잊어 먹는 경우가 있다. 그래서, smart pointer 를 이용하는 것이다. 우선 "자원 획득은 초기화"에 대한 주제로, http://ikpil.com/417 에 포스트 했었는데, 이번 항목은 이렇게 넘겨도 좋을 듯 싶다. 여담으로 http://ikpil.com/720 이 부분도 생각해 봐야 한다. 총평 스마트 포인터를 직접 구현해 보는게 가장 큰 도움이 된다. 요령은 공유되는 카운팅 객체를 만들어 잘 사용 해야 하는 점이다. 아참, 내가 만든 스마트 포인터는 boost::shard_ptr과 싸운 후로, 이 세상에 멸종을 당했다. : )
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 2. 15. 14:09
최근댓글