부제 : auto_ptr 효과적으로 사용 해라.
이유
1. 생성단계에서 동적메모리 할당시 메모리 릭이 발생할수 있기 때문이다.
구현 방법
1. 역시 메모리 할당을 auto_ptr(이런 성격의 객체)이 받으면 된다.
예) auto_ptr<int> test; 선언 후 초기화 리스트에서 초기화! new를 호출하여 초기화
주의점
1. auto_ptr 사용시 소유권이란 개념이 분명히 존재하므로 잘 이해하고 적재적소에 써야 한다.
개인적인 생각
1. 클래스 내부에서 메모리 누수를 막는 방법이 제일 좋은것 같다. 왜냐하면 객체의 생성 자체가 메모리 할당을 동반하는 작업이 많이 때문이다. 클래스 외부에서 이런 메모리 누수처리를 한다면, 정말 힘든 세상이 될것같다. 집안 싸움은 집안에서 끝내야 한다는 속담이 떠오른다.
참조 사항
1. 생성자가 호출되어 완료가 된 객체만이 소멸자가 호출된다.(이것도 기초;)
2. 초기화 리스트는 생성자 호출 전에 초기화 된다.(뭐 이건 기초)
이유
1. 생성단계에서 동적메모리 할당시 메모리 릭이 발생할수 있기 때문이다.
구현 방법
1. 역시 메모리 할당을 auto_ptr(이런 성격의 객체)이 받으면 된다.
예) auto_ptr<int> test; 선언 후 초기화 리스트에서 초기화! new를 호출하여 초기화
주의점
1. auto_ptr 사용시 소유권이란 개념이 분명히 존재하므로 잘 이해하고 적재적소에 써야 한다.
개인적인 생각
1. 클래스 내부에서 메모리 누수를 막는 방법이 제일 좋은것 같다. 왜냐하면 객체의 생성 자체가 메모리 할당을 동반하는 작업이 많이 때문이다. 클래스 외부에서 이런 메모리 누수처리를 한다면, 정말 힘든 세상이 될것같다. 집안 싸움은 집안에서 끝내야 한다는 속담이 떠오른다.
참조 사항
1. 생성자가 호출되어 완료가 된 객체만이 소멸자가 호출된다.(이것도 기초;)
2. 초기화 리스트는 생성자 호출 전에 초기화 된다.(뭐 이건 기초)
'책 정리 > More Effective C++ 1판' 카테고리의 다른 글
항목 15 : 예외 처리에 드는 비용에 대해서 정확히 파악하자 (0) | 2008.05.20 |
---|---|
항목 14 : 예외지정 기능은 냉철하게 사용 하자 (0) | 2008.05.19 |
항목 13 : 발생한 예외는 참조자로 받아내자. (0) | 2008.05.19 |
항목 12 : 예외 발생이 매개변수 전달 혹은 가상 함수 호출과 어떻게 다른지를 이해하자. (0) | 2008.05.18 |
항목 11 : 소멸자에서는 예외가 탈출하지 못하게 하자. (0) | 2008.05.16 |
항목 9 : 리소스 누수를 피하는 방법의 정공은 소멸자이다. (0) | 2008.05.16 |
궁극의 예외처리 (0) | 2008.05.16 |
항목 8 : new 와 delete의 의미를 정확히 구분하고 이해하자 (0) | 2008.05.15 |
항목 7 : &&, ||, 혹은 , 연산자는 오버로딩 대상이 절대로 아니다 (1) | 2008.05.15 |
항목 6 : 증가 및 감소 연산자의 전위/후위 형태를 반드시 구분하자 (0) | 2008.05.15 |
최근댓글