자원은 메모리인데, 이런 메모리를 사용하기 위해서 new 를 사용하게 된다. new로 할당한 자원은 항상 delete 를 해 줘야 하는데, 깜박 깜박하고 잊어 먹는 경우가 있다.
그래서, smart pointer 를 이용하는 것이다.
우선 "자원 획득은 초기화"에 대한 주제로, http://ikpil.com/417 에 포스트 했었는데, 이번 항목은 이렇게 넘겨도 좋을 듯 싶다. 여담으로 http://ikpil.com/720 이 부분도 생각해 봐야 한다.
총평
스마트 포인터를 직접 구현해 보는게 가장 큰 도움이 된다. 요령은 공유되는 카운팅 객체를 만들어 잘 사용 해야 하는 점이다. 아참, 내가 만든 스마트 포인터는 boost::shard_ptr과 싸운 후로, 이 세상에 멸종을 당했다. : )
'책 정리 > C++ Coding Standards : C++ 코딩의 정석' 카테고리의 다른 글
항목 18 : 가능하면 로컬 변수를 선언하여 사용하라. ( Declare variables as locally as possible. ) (0) | 2009.02.23 |
---|---|
항목 17 : 마법의 숫자는 쓰지 말라. ( Avoid magic numbers. ) (0) | 2009.02.23 |
항목 16 : 매크로 사용을 자제하라.( Avoid macros. ) (0) | 2009.02.21 |
항목 15 : const를 사용하라. ( Use const proactively. ) (0) | 2009.02.21 |
항목 14 : 런타임 오류보다는 컴파일이나 링크 타임 오류가 낫다. ( Prefer compile- and link-time errors to run-time errors. ) (0) | 2009.02.19 |
항목 12 : 안전한 공유를 위한 코딩의 시기와 방식을 결정하라. ( Know when and how to code for concurrency. ) (0) | 2009.02.14 |
항목 11 : 정보를 숨겨라. ( Hide information. ) (0) | 2009.02.13 |
항목 10 : 전역 데이터와 공유 데이터를 최소화하라. ( Minimize global and shared data. ) (0) | 2009.02.11 |
항목 9 : 미리 최적화해두어야 할 부분도 있다. ( Don’t pessimize prematurely. ) (0) | 2009.02.11 |
항목 8 : 이른 최적화를 피하라. ( Don’t optimize prematurely. ) (0) | 2009.02.11 |
최근댓글