검색결과 리스트
글
C++의 규정에 의하면, 기본 클래스 포인터를 통해 파생 클래스 객체가 삭제될 때 그 기본 클래스에 비가상 소멸자가 들어 있으면 플그램 동작은 미정의 사항이라 되어 있다. 대게 그 객체의 파생 클래스 부분이 소멸되지 않게 된다.
가상 소멸자를 선언하는 것은 그 클래스에 가상 함수가 하나라도 들어 있는 경우에만 한정하자.
(이부분은 뭐라 정리하기 힘들다 이해는 했는데 내용 정리가 힘들다 추후 다시 정리 예정)
이것만은 잊지 말자!
- 다형성을 가진 기본 클래스에는 반드시 가상 소멸자를 선언해야 한다. 즉, 어떤 크랠스가 가상 함수를 하나라도 갖고 있으면, 이 클래스의 소멸자도 가상 소멸자이어야 한다.
- 기본 클래스로 설계되지 않았거나 다형성을 갖도록 설계되지 않는 클래스에는 가상 소멸자를 선언하지 말아야 한다.
관련 링크
http://ikpil.tistory.com/408
http://ikpil.tistory.com/296
http://www.kwak101.pe.kr/bbs/view.php?id=kwk_worksBBS&no=159
가상 소멸자를 선언하는 것은 그 클래스에 가상 함수가 하나라도 들어 있는 경우에만 한정하자.
(이부분은 뭐라 정리하기 힘들다 이해는 했는데 내용 정리가 힘들다 추후 다시 정리 예정)
이것만은 잊지 말자!
- 다형성을 가진 기본 클래스에는 반드시 가상 소멸자를 선언해야 한다. 즉, 어떤 크랠스가 가상 함수를 하나라도 갖고 있으면, 이 클래스의 소멸자도 가상 소멸자이어야 한다.
- 기본 클래스로 설계되지 않았거나 다형성을 갖도록 설계되지 않는 클래스에는 가상 소멸자를 선언하지 말아야 한다.
관련 링크
http://ikpil.tistory.com/408
http://ikpil.tistory.com/296
http://www.kwak101.pe.kr/bbs/view.php?id=kwk_worksBBS&no=159
'Study > Effective C++ 3판' 카테고리의 다른 글
| 항목 12. 객체의 모든 부분을 빠짐없이 복사하자. (0) | 2009/02/17 |
|---|---|
| 항목 11. operator=에서는 자기대입에 대한 처리가 빠지지 않도록 하자 (0) | 2009/02/17 |
| 항목 10. 대입 연산자는 *this 참조자를 반환하게 하자 (0) | 2009/02/15 |
| 항목 9. 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말자. (0) | 2009/02/15 |
| 항목 8. 예외가 소멸자를 떠나지 못하도록 붙들여 놓자. (0) | 2008/07/10 |
| 항목 7. 다형성을가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자. (0) | 2008/07/01 |
| 항목 6. 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해 버리자. (0) | 2008/06/27 |
| 항목 5. C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 (0) | 2008/06/27 |
| 항목 4. 객체를 사용하기 전에 반드시 그 객체를 초기화하자. (0) | 2008/06/10 |
| 항목 3. 낌새만 보이면 const를 들이대 보자! (0) | 2008/06/10 |
| 항목 2. #define을 쓰려거든 const, enum, inline을 떠올리자. (0) | 2008/05/29 |

RECENT COMMENT