일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오블완
- 상속
- lua
- 티스토리챌린지
- 루아
- 언리얼
- virtual function
- c++
- implicit conversion
- operator new
- Effective c++
- 암시적 변환
- 다형성
- Smart Pointer
- Vector
- exception
- UE4
- effective stl
- 반복자
- 메타테이블
- 게임
- 영화
- 예외
- 비교 함수 객체
- resource management class
- more effective c++
- 참조자
- 영화 리뷰
- reference
- 스마트 포인터
Archives
- Today
- Total
목록virtual destructor (1)
스토리텔링 개발자
[Effective C++] 7. 다형성 부모 클래스라면 가상 소멸자 선언
항목 7. 다형성을 가진 기본클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자. 기본 클래스의 소멸자가 비가상 소멸자라면기본 클래스 포인터에 할당된 파생 클래스 객체가 삭제될 때의 프로그램 동작이 미정의 사항(C++ 규정으로 정해져 있지 않다) 이다.그러므로 가상 함수를 하나라도 가진 클래스는 가상 소멸자를 가지는 것이 대부분 올바른 선택이다. 기본 클래스로 의도하지 않은 클래스에 가상 소멸자를 선언하는 건 좋지 않다.객체의 크기가 커진다.가상 함수를 하나라도 가지는 클래스는 가상 테이블(vtbl)의 시작 주소(vptr)를 가지게 되기 때문이다.다른 언어로 선언된 동일한 자료구조와의 호환성이 없어진다.다른 언어에서는 vptr을 만들 수 없기 때문이다. 추상 클래스로 만들고 싶지만 마땅히 만들..
개발/Effective C++
2024. 5. 21. 11:12