{
왜?
 보는 사람이나 개발하는 사람이나 메모리 누수인가? 아닌가? 에 대해서 고민하게 만들기 때문이다.

어디서 할당하고 어디서 해지 해야 하는가?
 하나의 모듈에서 할당해서 해지 해야 한다. 작게 말하면, 하나의 클래스 내부에서 생성된 메모리는 클래스 내부에서 해제 한다는 뜻으로 해석해도 무난 하다.

부득이 하게, 다른 모듈과 연관된 경우에는 어떻게 하는가?
 이럴 때를 위해서 우리의 부스트께선 스마트 포인터(Smart Pointer)를 만들어 두었으니, 이것을 이용 하면 된다.

스마트 포인터의 사용법을 알려 줄 수 있는가?
 부스트의 스마트 포인터는 여러개가 있지만 shared_ptr<T> 를 많이 사용 한다. 검색의 왕인 구글에게 물어 보면 잘 알려 주므로 생략 하겠다.
}

'책 정리 > C++ Coding Standards : C++ 코딩의 정석' 카테고리의 다른 글

항목 66 : 함수 템플릿은 특화해서는 안된다. ( Don’t specialize function templates. )  (0) 2009.04.12
항목 64 : 정적, 동적인 다형성을 절적히 혼합하라. ( Blend static and dynamic polymorphism judiciously. )  (0) 2009.04.11
항목 63 : 모듈의 인터페이스 내에는 충분한 이식성을 갖춘 타입을 사용하라. ( Use sufficiently portable types in a module’s interface. )  (0) 2009.04.11
항목 62 : 예외가 모듈의 경계를 넘어 전달되는 것을 막아라. ( Don’t allow exceptions to propagate across module boundaries. )  (0) 2009.04.11
항목 61 : 헤더 파일 내에는 서로 연결된 엔티티를 정의해서는 안된다. ( Don’t define entities with linkage in a header file. )  (0) 2009.04.11
항목 60 : 서로 다른 모듈에서의 메모리 할당과 해지는 피하라. ( Avoid allocating and deallocating memory in different modules. )  (0) 2009.04.11
항목 59 : 헤더 파일 내에 또는 #include 앞에 네임스페이스 using을 써서는 안 된다. ( Don’t write namespace usings in a header file or before an #include. )  (0) 2009.04.08
항목 58 : 특별히 함께 작동하게끔 의도된 경우가 아니라면 타입과 함수는 분리된 네임스페이스에 넣어라. ( Keep types and functions in separate namespaces unless they’re specifically intended to work together. )  (0) 2009.04.08
항목 57 : 타입과 그의 비멤버 함수는 같은 네임스페이스 내에 넣어라. ( Keep a type and its nonmember function interface in the same namespace. )  (2) 2009.04.08
항목 56 : 필요하다면 실패가 없는 swap을 활용하라. ( Whenever it makes sense, provide a no-fail swap (and provide it correctly) )  (0) 2009.04.06
항목 55 : 정규형의 할당 방식을 사용하라. ( Prefer the canonical form of assignment. )  (0) 2009.04.06
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기

댓글을 달아 주세요

">