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