항목 60 : 서로 다른 모듈에서의 메모리 할당과 해지는 피하라. ( Avoid allocating and deallocating memory in different modules. )
{ 왜? 보는 사람이나 개발하는 사람이나 메모리 누수인가? 아닌가? 에 대해서 고민하게 만들기 때문이다. 어디서 할당하고 어디서 해지 해야 하는가? 하나의 모듈에서 할당해서 해지 해야 한다. 작게 말하면, 하나의 클래스 내부에서 생성된 메모리는 클래스 내부에서 해제 한다는 뜻으로 해석해도 무난 하다. 부득이 하게, 다른 모듈과 연관된 경우에는 어떻게 하는가? 이럴 때를 위해서 우리의 부스트께선 스마트 포인터(Smart Pointer)를 만들어 두었으니, 이것을 이용 하면 된다. 스마트 포인터의 사용법을 알려 줄 수 있는가? 부스트의 스마트 포인터는 여러개가 있지만 shared_ptr 를 많이 사용 한다. 검색의 왕인 구글에게 물어 보면 잘 알려 주므로 생략 하겠다. }
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 4. 11. 19:56
최근댓글